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

Flash Player 9 以降、Adobe AIR 1.0 以降

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

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

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

<イベントフローの 3 つの段階>

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

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