- 2006-07-11 (火)
- action script
「Object-oriented Actionscript for Flash 8」を読んでいましたが、chapter13(p204,205)が理解できなかったので1月ほど放置していましたが、その部分に構わずに読み進めると、案外理解できる感じです。
和書「Flash OOP」でも同様の記事があった気がしますが、EventDispacherを自作し、その仕組みを理解するのがchapter13の前半のテーマです。とりあえず今回はメモです。
「Object-oriented Actionscript for Flash 8」の p206~p213で知ったこと。
- Broadcasterクラスのインスタンスに、イベント通知したいオブジェクトを登録する。その際、重複を避けるチェック機能もある。
- そのBroadcasterクラスのインスタンスのdispatchEvent("メソッド名")が呼び出されたタイミングで、登録しておいたオブジェクトに一斉に通知、メソッドを実行させることができる。
- 当然ながら、Objectだろうが、MovieClipだろうが、何でもリスナーに登録しておける。
- addEventListenrで第3引数を設定しておけば、Broadcasterクラスのインスタンスと同名のメソッドだけでなく、リスナーの独自のメソッドも実行できる。
- リスナーのメソッドの実行順は、後から登録されたリスナーから実行される。
- リスナーオブジェクト"myMC"が、Broadcasterクラスのインスタンスと同名のメソッド"hoge"と独自メソッド"foo"を持つ時、testBroadcaster.addEventListenr("hoge" , myMC , "foo")としてdispachEventすると、両方のメソッドが実行される。その際の実行順は"hoge"→"foo"の順
この本の自作EventDispatcherとは仕様が違うでしょうが、ActionScript3.0では、このようなEventDispatcherクラスが大々的にフィーチャーされているそうなので(akihiro kamijo: EventDispatcher クラス)、置いてかれないように頑張ろうと思います。デザインからFlashに入った自分には険しい道っぽいです。
- Newer: CASIO G'zOne W42CA
- Older: ActionScript 3.0 Pocket Reference
Comment:0
Trackback:0
- TrackBack URL for this entry
- http://www.trick7.com/blog/mt-tb.cgi/180
- Listed below are links to weblogs that reference
- EventDispatcherについてのメモ from trick7.com blog



