EventDispatcher + MTASC

EventDispatcher が動かん〜 とか言っていたやつですが、どうやら http://www.mtasc.org/の Using Components (mx package) をよく読まなかったのが原因でした。

まず最初に、Flash IDE から swf ファイルを作らなかったのが敗因のようです。とりあえず1フレーム目に以下のように書いてから swf を書き出します。

mx.events.EventDispatcher;mx.utils.Delegate;    // こっちも使うのであれば必要かと。(未確認)

で、mtasc.exe を叩くときに、-mxオプションと、-cp "path/to/Macromedia/Classes"とクラスパスを通し、-swf 先程出力した swf と同じファイル名で書き出すと。そいういうことっすな。

んー、微妙にめんどい。

て〜か、今気付いたけど、class Hoge extends EventDispatcher {...} していいんだろうか?? 検索すると、コンストラクタとか適当なメソッドに EventDispatcher.initialize(this); ってやってるんだけど・・・。一応前者でも動いてることは動いている。 いや、後者だと、”dispatchEvent” がありませんとか、 “addEventListener” がありませんとか、いわれませんか?(public var addEventListener:Function;ってすりゃいいんだけどさぁ)。

どういうやり方が良いのかねぇ。ややこしや。