To act, when it means to behave (rather than to perform in a play) works like to be, to appear, etc. taking an adjective. If a person acts weird, they act in a manner that is weird. If a person acts weirdly, they read their lines in a strange manner.
Despite having the same meaning, to behave does not work the same way. It takes adverbs, as most verbs do. That said, it seems to be more and more common for English speakers (at least Americans) to never use adverbs and only ever use adjectives. You might hear a native speaker say, "behave impolite."
I'd say "He acts weird" is something of a set phrase by now, and certainly more idiomatic in casual speech then "He acts weirdly."
Benny's examples sound very "folksy" or even uneducated to me, and I haven't come across that kind of thing much in BE. I wouldn't recommend using them in an effort to make your English sound "idiomatic". If in doubt, always use the adverb.