ActionScriptを使って,ユーザーのマウス操作をイベントとして取得し,利用することにより,ユーザーのマウス操作に応じていろいろな反応をするムービーを作成できます。今回はこうしたマウス関連イベントの扱い方についてまとめてみました。
ActionScript3.0では,マウス操作に関するイベントも,ボタンやムービークリップといったInteractiveObjectを継承するクラスを使ってキャプチャします。おなじみの「ボタンのようにクリックすると動く」操作や,「ドラッグ&ドロップ」操作,「マウスの移動に合わせて線を引く」などの操作も,あらかじめ用意されているマウスの操作関係のイベントを使用して,簡単に作成できます(図1)。
図1●マウスイベントを使った簡易ホワイトボード [クリックすると別ウィンドウでムービーを表示します] |
マウスイベントにはどんなものがあるのか
ActionScript3.0では,次のようなマウス操作関連のイベントが用意されています(表1)。
イベント | 定数 | 説明 |
---|---|---|
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クラス」や,これらのクラスを継承している各種コンポーネント等のクラスが挙げられます。