[Flash]⑨Mouseクラス
- Mouseクラスを扱う方法
- Mouseクラス
- マウスの位置を知る
- マウスカーソルを変更する
- upDateAfterEvent関数
Mouseクラスを扱う方法
①ムービークリップやボタンでイベントハンドラを扱う方法
- それぞれのボタンやムービークリップがクリックされたことを知りたいときなどに使う
②Mouseクラスのイベントリスナーを使う方法
- Flashドキュメント中でクリックされたこと知りたい時などに使う
Mouseクラス
マウスポインタを制御したり、イベントリスナーによりマウスの変化をチェックする。
- Mouse.show()メソッドなど
- Mouse.onMouseDownイベントリスナーなど
マウスの位置を知る
- イベントリスナー(MovileClip._xmouse)で知ることができる
- ↑で取得できるのは指定したMovieClipの基準点からの相対座標
- “_root.xmouse"で全体からの座標を取得
マウスカーソルを変更する
標準のカーソルを消し、その代わりにムービークリップをりんゲージから生成し、マウス座標に合わせることで、擬似的にマウスカーソルのように見せるテクニックです。
- マウスカーソルの画像(通常/クリック時)を用意
- ムービークリップシンボル化
- 5Fでクリック時の画像になるように設定(up/downラベルとthis.stopを記述)
- 各シンボルにリンゲージを設定「arrowCursorSym」…
- クリックするとカーソルの形が変わる変更ボタンを作成 インスタンス名「handButton」…
- シーン1にスクリプト記述
var handButton: Button; var zoomButton: Button; var arrowButton: Button; var cursor: MovieClip; /* リリースイベントに関数割り当て */ handButton.onRelease = changeCursor; zoomButton.onRelease = changeCursor; arrowButton.onRelease = changeCursor; /*リスナーオブジェクトを生成、onMouseDown/Upイベントに関数割り当て.addListenerで登録 */ var mouseListener: Object = new Object(); mouseListener.onMouseDown = cursorDown; mouseListener.onMouseUp = cursorUp; Mouse.addListener( mouseListener ); /* 標準のカーソルを消し、_rootにカーソルのムービークップを作り、現在のマウス位置に置く*/ function changeCursor():Void { Mouse.hide(); if( this == handButton ) cursor = _root.attachMovie( "handCursorSym", "cursorIcon", 1 ); else if( this == zoomButton ) cursor = _root.attachMovie( "zoomCursorSym", "cursorIcon", 1 ); else cursor = _root.attachMovie( "arrowCursorSym", "cursorIcon", 1 ); cursor._x = _root._xmouse; cursor._y = _root._ymouse; cursor.onMouseMove = cursorMove; } /* カーソル移動させる関数 updateAfterEventで更新 */ function cursorMove():Void { this._x = _root._xmouse; this._y = _root._ymouse; updateAfterEvent(); } /* カーソルを押されている画像にする */ function cursorDown():Void { cursor.gotoAndStop("down" ); } /* カーソルを押されていない画像にする */ function cursorUp():Void { cursor.gotoAndStop( "up" ); }
upDateAfterEvent関数
- グローバル関数(as3からは flash.events.TimerEvent.updateAfterEvent() )
- フレームレートに関係なく画面を更新するため、フレームレートが低くても動きがなめらかになる
- 多用すると重くなる