- 締切済み
マウスホイールでムービークリップを再生(as3.0)
先ほどカテゴリを間違えて別のところに投稿してしまった者です マウスホイールを使ったFLASHをつくっているのですが、ホイールの回転に合わせて時計の針を回し、さらにそれと連動してムービークリップを動かそうとしています。 (MouseEvent.MOUSE_WHEEL,wheelHandler)を使って時計の針を動かすことはできたのですが、ムービークリップの制御の仕方がさっぱりわかりません・・・ そもそもホイールでムービークリップのフレームを制御できるのかすらわからづにいます。 作っているものを簡単に整理すると 1、マウスホイールで時計の針が回転して時間が進む これはwheelhandlerとrotationでなんとか動きました。 2、それと連動させて(実際に連動せずともそう見えればいい)ムービークリップ(以下mc)を再生させたい。 このmcは進むのと戻るのを両方できるようにしたいです ある土地の歴史を1日にたとえて、時計を用意し、その変化をmcで説明するという物です。mcはアニメではなく地図で、建築物やちょっとしたアイコンが増えていくものです。 こういう説明が苦手なので伝えられているか不安ですが、ご回答お願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- BlurFiltan
- ベストアンサー率91% (1611/1754)
wheelHandler と言うのは単なるユーザ定義関数名だと思います。 関数の名前は何でも良いですが, 結局その任意のユーザ定義関数の中でムービークリップを gotoAndStop() させれば良いのだと思います。 ムービークリップ my_mc がステージ上にあった場合, そのムービークリップが存在するタイムラインのフレームに書くスクリプト例 ----------------------------------- // ムービークリップ my_mc の再生を停止 my_mc.stop(); // ステージにイベントリスナーを登録 // (マウスホイールが動いた時,関数wheelHandlerを実行) stage.addEventListener(MouseEvent.MOUSE_WHEEL, wheelHandler); // ユーザ定義関数wheelHandlerを定義 function wheelHandler(evt:MouseEvent):void { // ホイールの1目盛り回転を 1 または -1 に変換 var wheel_r:int=evt.delta/Math.abs(evt.delta); // my_mcのフレームをホイール1目盛り回転数分進めて停止 my_mc.gotoAndStop(my_mc.currentFrame+wheel_r); } ----------------------------------- Event.delta で得られる数値は,各ユーザのOS(Windows)の設定に依存します。 私の場合 3 や -3 が得られますが, これは [コントロールパネル] の [マウスのプロパティ] で [ホイール] の [ホイールの1目盛りでスクロールする量] の [1度にスクロールする(N)] を 3 に設定してあるからです。 これは人によって違います。 これを 1 や -1 に統一するために // ホイールの1目盛り回転を 1 または -1 に変換 var wheel_r:int=evt.delta/Math.abs(evt.delta); というワンクッションを入れています。 --- ※注意 --------- MouseEvent.MOUSE_WHEEL での動作は 補助的なものとして使うのは良いですがあまり過信しない方が良いです。 (現にFlashで使われること(見かけること)は殆どありません。) Google検索 「MOUSE_WHEEL Mac」 http://www.google.co.jp/search?hl=ja&q=MOUSE_WHEEL+Mac Google検索 「onMouseWheel Mac」 http://www.google.co.jp/search?hl=ja&q=onMouseWheel+Mac その他, マウスホイール自体が存在しないオーソドックスなマウスを使われている人もいます。 また, マウスも多機能化していてWindowsであっても全てのホイールに対応しているかどうかは知りません。 TPOにもよるので何とも言えませんが, ホイールのみに頼るのではなく場合によっては スライドバーみたいなのを用意する方が無難かもしれません。
お礼
ご回答ありがとうございます。 書いてあることが理解できるか不安でしたが、サンプルまで書いていただき 本当にありがとうございます!! もともとはこのhttp://www.nagaoka-id.ac.jp/gallery/gallery.html サイトを見て思い立ったものです。 マウスホイールだけに頼らない作りに修正しようと思います。