説明
Event クラスは、Event オブジェクトを作成するための基本クラスです。これらの Event オブジェクトは、イベントの発生時にイベントリスナーにパラメーターとして渡されます。イベントリスナー関数のメソッドを使用して、イベントオブジェクトのビヘイビアーを修正できます。例えば、現在のイベントリスナーを、 stopPropagation()
または stopImmediatePropagation()
メソッドを呼び出すことで、イベントを処理する最後のイベントリスナーにすることができます。
シンタックス
new flwebgl.events.Event(type, bubbles)
パラメーター
名前 | 種類 | 説明 |
type | string | イベントのタイプ |
bubbles | boolean | Event オブジェクトがイベントフローのバブリング段階で処理されるかどうかを判断します。デフォルト値は「false」です。 |
静的プロパティ
名前 | 種類 | 説明 |
flwebgl.events.Event.ENTER_FRAME | string | ムービークリップがフレームに入ると、創出されます(タイムラインアニメーションが処理される前)。 |
flwebgl.events.Event.ADDED | string | 表示エレメントが子として追加されたときに送出されます。 |
flwebgl.events.Event.FRAME_CONSTRUCTED | string | 現在のフレームが作成された後(フレームスクリプトが処理される前)に送出されます。 |
flwebgl.events.Event.EXIT_FRAME | string | ムービークリップがフレームから出ると、創出されます(タイムラインアニメーションが処理された後)。 |
flwebgl.events.Event.REMOVED | string | 表示エレメントが親から削除される前に送出されます。 |
方法
getBubbles()
説明
このメソッドは、イベントがバブリングかどうかを示します。
戻り値
- タイプ - boolean
getCurrentTarget()
説明
このメソッドは、イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトを返します。
戻り値
- タイプ - flwebgl.events.EventDispatcher
例
このスニペットは、ステージとその最上位の子(mc)の両方にイベントリスナーを追加します。「mc」に子が追加されると、そのイベントリスナー(handlerFn2)が実行されます。ADDED イベントはバブルなので、「mc」のすべてのリスナーが実行された後、上の階層のステージのイベントリスナー(handlerFn1)に送られます。
function handlerFn1(e) { console.log("Handler 1"); var t1 = e.getTarget(); // First child of stage var t2 = e.getCurrentTarget(); // Stage } function handlerFn2(e) { console.log("Handler 2"); var t1 = e.getTarget(); // First child of stage var t2 = e.getCurrentTarget();// First child of stage } var stage = player.getStage(); var mc = player.getChildAt(0); stage.addEventListener(flwebgl.events.Event.ADDED, handlerFn1); mc.addEventListener(flwebgl.events.Event.ADDED, handlerFn2);
getTarget()
説明
このメソッドは、イベントターゲットを返します。
戻り値
- タイプ - flwebgl.events.EventDispatcher
例
getCurrentTarget() にある例を参照してください。
getType()
説明
このメソッドは、イベントタイプを示します。
戻り値
- タイプ - String
stopImmediatePropagation()
説明
このメソッドは、イベントフローの現在のノードおよび後続するノードで、イベントリスナーが処理されないようにします。
例
この例では、ADDED イベント用に 2 つのリスナーがステージの最上位の子(mc)に追加されます。子が「mc」に追加されると、これらの両方が実行されます。ただし、最初のイベントリスナー stopImmediatePropagation() 内から呼び出されると、「mc」のその他のリスナーはイベントを受け取れなくなります(例:handlerFn2)。さらに、イベントも上の階層のステージにバブリングされなくなります。
function handlerFn1(e) { e.stopImmediatePropagation(); // Stops any other listeners from receiving this event } function handlerFn2(e) { console.log("This will not execute"); } var stage = player.getStage(); var mc = player.getChildAt(0); mc.addEventListener(flwebgl.events.Event.ADDED, handlerFn1); mc.addEventListener(flwebgl.events.Event.ADDED, handlerFn2);
stopPropagation()
説明
このメソッドは、イベントフローの現在のノードに後続するノードで、イベントリスナーが処理されないようにします。
例
この例では、ADDED イベント用にリスナーがステージの最上位の子(mc)に追加されます。子が「mc」に追加されると、リスナーが実行されます。このイベントリスナーでは、イベントが上の階層(例えば、ステージ)にバブリングされなくなります。
function handlerFn(e) { e.stopPropagation(); // Stops the event from bubbling up the hierarchy } var stage = player.getStage(); var mc = player.getChildAt(0); mc.addEventListener(flwebgl.events.Event.ADDED, handlerFn);
アカウントにログイン