ActionScript 3.0 では、以前のバージョンの ActionScript で使用されていたさまざまなイベント処理メカニズムに代わる 1 つのイベント処理モデルが導入されました。 新しいイベントモデルは、ドキュメントオブジェクトモデル(DOM)レベル 3 のイベント仕様に基づいています。
ActionScript 2.0 の
addListener()
メソッドを使用した経験があれば、ActionScript 2.0 のイベントリスナーモデルと ActionScript 3.0 のイベントモデルとの違いがよくわかります。次のリストで、この 2 つのイベントモデルの主な違いをいくつか説明します。
-
ActionScript 2.0 でイベントリスナーを追加するには、
addListener()
を使用する場合と
addEventListener()
を使用する場合がありますが、ActionScript 3.0 では、すべての場合に
addEventListener()
を使用します。
-
ActionScript 2.0 にはイベントフローの仕組みがないので、
addListener()
メソッドを呼び出すことができるのはイベントをブロードキャストするオブジェクトに対してのみでした。ActionScript 3.0 では、イベントフローに組み込まれているすべてのオブジェクトに対して
addEventListener()
メソッドを呼び出すことができます。
-
ActionScript 2.0 では、イベントリスナーは関数、メソッド、オブジェクトのいずれかですが、ActionScript 3.0 では、関数とメソッドだけをイベントリスナーにできます。
-
on(
event
)
シンタックスが ActionScript 3.0 ではサポートされないので、ActionScript イベントコードをムービークリップに追加できません。イベントリスナーを追加するには、
addEventListener()
を使用します。
次の例では、
aButton
という名前の Button コンポーネントの
MouseEvent.CLICK
イベントをリスンします。これは、ActionScript 3.0 の基本的なイベント処理モデルを示しています。
aButton.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(event:MouseEvent):void {
trace("clickHandler detected an event of type: " + event.type);
trace("the event occurred on: " + event.target.name);
}
ActionScript 3.0 イベント処理について詳しくは、『ActionScript 3.0 のプログラミング』を参照してください。ActionScript 3.0 のコンポーネントのイベント処理について詳しくは、
イベント処理
を参照してください。
|
|
|