表示オブジェクトのイベントの処理

DisplayObject クラスは EventDispatcher クラスを継承します。これは、どの表示オブジェクトでもイベントモデルに完全に参加できることを意味します (イベントの処理を参照してください)。各表示オブジェクトは、EventDispatcher クラスから継承した独自の addEventListener() メソッドを使用して、特定のイベントを監視することができます。ただし、これは、監視しているオブジェクトがそのイベントのイベントフローの一部である場合に限ります。

Flash Player によってイベントオブジェクトが送出されると、そのイベントオブジェクトはステージからイベントが発生した表示オブジェクトへと往復します。たとえば、ユーザーが child1 という名前の表示オブジェクトをクリックすると、Flash Player により、ステージから表示リスト階層を下がって child1 表示オブジェクトまでイベントオブジェクトが送出されます。

次の図に示されているように、概念上イベントフローは 3 段階に分けられます。


表示リストのイベントバブリングを示す図。Stage に含まれる Parent には Child1 が含まれています。イベントは Stage から Parent へ下降し (キャプチャ段階)、Child1 を通過して (ターゲット段階)、Parent から Stage へ上昇します (バブリング段階)。

詳細については、イベントの処理を参照してください。

表示オブジェクトのイベント操作で注意すべき点は、表示オブジェクトを表示リストから削除するとき、(ガベージコレクションにより) 表示オブジェクトが自動的にメモリから削除されたかどうかによってイベントリスナーの効果が異なることです。イベントのリスナーとしてサブスクライブされたオブジェクトを含む表示オブジェクトの場合、この表示オブジェクトには該当のリスナーオブジェクトへの参照が設定されているため、表示リスからの削除時にも削除されません。詳細については、イベントリスナーの管理を参照してください。


 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00000151.html