as3クリックとダブルクリック マウスイベント

クリックイベントは、InteractiveObject クラスのインスタンスの click イベントにリスナー関数を登録することで受け取ることができます。 click イベントの定数は MouseEvent.CLICK です。

下記の例では、 MovieClip インスタンス squear の上でマウスをクリックしたとき、 squear 自身が時計回りに 10 度回転します。

square.addEventListener (MouseEvent.CLICK,onClickHandler);

function onClickHandler (event:MouseEvent):void {
    square.rotation += 10;
}

ところで、イベントリスナーを登録すればインスタンスはボタンになりますが、そのインスタンスにマウスカーソルが重なっても指カーソルにはなりません。そこで、ボタンにしたいインスタンスのbuttonMode プロパティを true します。そうすればマウスカーソルがインスタンスにロールオーバーしたときに指カーソルに変化するようになります。

下記の例は、 MovieClip インスタンス squear の上でマウスカーソルが、指カーソルに変化するように設定しています。

square.buttonMode = true; 

ActionScript3.0 では、マウスイベントとしてダブルクリックが備わっています。
ダブルクリックしたときのイベントは MouseEvent.DOUBLE_CLICK タイプでキャプチャできますが、このとき、インスタンスの doubleClickEnabled プロパティが true でなければイベントは発生しませんので注意が必要です。

下記の例は、 MovieClip インスタンス square の上でダブルクリックのイベントが発生したときに Event オブジェクトの type プロパティを出力ウインドウに出力します。

square.buttonMode = true;
square.doubleClickEnabled = true;

square.addEventListener (MouseEvent.DOUBLE_CLICK,onDoubleClickHandler);

function onDoubleClickHandler (event:MouseEvent):void {
    trace (event.type);
}