F-site のセミナーに行ってきました(4)[了]
2007/11/14 21:12 - AS3.0
F-site セミナー「そろそろ…、ActionScript 3.0で行かナイト!」の第3部「イベントを制する者、ActionScript 3.0 を制す」についての最終回は、自分なりのまとめです。
今まで間違って理解していたこと | 正しい仕様 |
---|---|
イベントは addEventListener を登録したオブジェクト上だけで発生する。 |
イベントはステージ上どこでも発生している。 addEventListener は、そのどこでも発生しているイベントの捕捉と監視範囲を設定するために使うものである。 |
DisplayObjectContainer.mouseChildren というプロパティの意味がよく分からなかったんですが、上記の仕様が分かって、はじめて理解できました。
ところで、イベントはステージのどこでも発生し、ステージ上に存在する全てのインスタンスが、自分自身および子孫関係にあるオブジェクトのイベントを取得できるってことは、以下みたいなこともできるってことですよねぇ。
ボタンとして使用する Sprite が複数個あった場合、必ずしも各ボタン Sprite ひとつひとつに addEventListener でイベントハンドラを登録しなくてもよい。
stage 1箇所に addEventLister で登録するだけで、全ボタン Sprite をフォローするようなコード記述も可能。
コード設計としてどうなのか、という問題はあるにしても、以下のサンプルみたいなコードも書けちゃうってことですねぇ( MOUSE_OVER、MOUSE_OUT イベントの例)。
- ソース (Tweener 1.31 使用)
シリーズ