ActionScriptを使って,ユーザーのマウス操作をイベントとして取得し,利用することにより,ユーザーのマウス操作に応じていろいろな反応をするムービーを作成できます。今回はこうしたマウス関連イベントの扱い方についてまとめてみました。

 ActionScript3.0では,マウス操作に関するイベントも,ボタンやムービークリップといったInteractiveObjectを継承するクラスを使ってキャプチャします。おなじみの「ボタンのようにクリックすると動く」操作や,「ドラッグ&ドロップ」操作,「マウスの移動に合わせて線を引く」などの操作も,あらかじめ用意されているマウスの操作関係のイベントを使用して,簡単に作成できます(図1)。

図1●マウスイベントを使った簡易ホワイトボード
図1●マウスイベントを使った簡易ホワイトボード
[クリックすると別ウィンドウでムービーを表示します]

マウスイベントにはどんなものがあるのか

 ActionScript3.0では,次のようなマウス操作関連のイベントが用意されています(表1)。

表1●マウス操作関連のイベント(いずれもイベントオブジェクトのデータ型はMouseEvent型)
イベント 定数 説明
click MouseEvent.CLICK クリックしたときに発生
mouseDown MouseEvent.MOUSE_DOWN マウスボタンを押したときに発生
mouseUp MouseEvent.MOUSE_UP マウスボタンを離したときに発生
doubleClick MouseEvent.DOUBLE_CLICK マウスボタンをダブルクリックしたときに発生。使用する際には対象のdoubleClickEnabledプロパティをtrueに変更しておく必要がある
mouseMove MouseEvent.MOUSE_MOVE マウスが移動した時に発生
rollOut MouseEvent.ROLL_OUT マウスポインタが対象から離れたときに発生。イベントのバブリングを行わない
rollOver MouseEvent.ROLL_OVER マウスポインタが対象の上に乗ったときに発生。イベントのバブリングを行わない
mouseOut MouseEvent.MOUSE_OUT マウスポインタが対象から離れたときに発生。イベントのバブリングを行う
mouseOver MouseEvent.MOUSE_OVER マウスポインタが対象の上に乗ったときに発生。イベントのバブリングを行う
mouseWheel MouseEvent.MOUSE_WHEEL マウスホイールを回転させた時に発生

 クリックといったマウスボタンの操作から,マウスの動きに関する物まで網羅されていますね。これらのイベントは,前回の記事(「キーボード入力を取得して利用する」)で取り上げた,キーボードの入力に関するイベントと同じように,表示リスト内の特定のメンバー,つまり,「InteractiveObjectクラス」を継承しているクラスのインスタンスで利用できます。

 具体的には,「SimpleButtonクラス」「TextFieldクラス」「Loaderクラス」「Spliteクラス」「MovieClipクラス」そして「Stageクラス」や,これらのクラスを継承している各種コンポーネント等のクラスが挙げられます。