- ベストアンサー
AS3でのマウスオーバーに関する質問
- flash CS4の初心者です。教えて!gooは、とても参考になり、試行錯誤しながら習得しています。
- 下記のサイトの CHARACTER のシーンでマウスオーバーするとイラストが拡大してバウンドし、帯文字もバウンドします。マウスを外すと元のサイズに戻りバウンドします。初心者の為、ボタン→ムービークリップをモーショントゥイーンを使いどうにかバウンドらしきものが出来ましたが、20点の画像を同じようにするのが大変です。
- AS3で上記のサイトのように20点の画像をマウスオーバーで拡大バウンドし、同時に帯文字もバウンドして、マウスを外せば元に戻りバウンドする方法を教えて頂きたく投稿しました。なにぶんにも初心者ですので詳しく教えて頂けると有り難いです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
メインのタイムラインのステージ上に 「my_mc0」「my_mc1」「my_mc2」「my_mc3」 というインスタンス名を付けた4つのムービークリップを配置したとします。 その場合のスクリプト例↓ --------------------------------------- // Tweenクラスとeasingクラスをインポート import fl.transitions.Tween; import fl.transitions.easing.*; // 下がった状態の座標の差を設定 var dif_y:Number = 15; // 動作にかかる秒数を設定 var sec:Number = 0.5; for(var i:int=0;i<=3;i++){ // ムービークリップ「my_mc?」の初期y座標を記録 this["my_mc"+i].sy = this["my_mc"+i].y; // 「my_mc?」ロールオーバー時に関数 myDown を実行 this["my_mc"+i].addEventListener(MouseEvent.ROLL_OVER,myDown); // 「my_mc?」ロールアウト時に関数 myUp を実行 this["my_mc"+i].addEventListener(MouseEvent.ROLL_OUT,myUp); } // 関数 myDown の定義 function myDown(e:MouseEvent):void{ // Tweenクラスのインスタンスを作成 var myTween:Tween = new Tween(e.currentTarget, "y", Bounce.easeOut, e.currentTarget.y, e.currentTarget.sy+dif_y, sec, true); } // 関数 myUp の定義 function myUp(e:MouseEvent):void{ // Tweenクラスのインスタンスを作成 var myTween:Tween = new Tween(e.currentTarget, "y", Bounce.easeOut, e.currentTarget.y, e.currentTarget.sy, sec, true); } --------------------------------------- これはロールオーバーしたインスタンス自体を動かしているので, // 下がった状態の座標の差を設定 var dif_y:Number = 15; この値をあまり大きくしないようにするというのが肝腎です。 大きくすると, ムービークリップが動きすぎてロールオーバーしたらすぐロールアウトしてしまうため動きが変になります。 小さいままでも,上からマウスをゆっくり接近させてロールオーバーすると動きが変になります。 (赤上げて 赤下げないで赤上げない??? 状態になる。) 実際には, 親ムービークリップの中に子ムービークリップを作成するなどして, 親ムービークリップにロールオーバーしたときに,その中で子ムービークリップを動かすなどの工夫をした方が良いと思います。 ↑親ムービークリップには 動かないヒットエリアのようなものを 透明な塗りなどで作成しておく。 (中の絵柄は動いてもヒットエリアは変えないようにする) つまり本当は ActionScript だけで片付けるのではなく構造をちゃんと作った方が良いでしょう。 === 補足 === === === > flash CS4の初心者です。 & > 20点の画像を同じようにするのが大変です。 CS4 だと「モーションをコピー」・「モーションをペースト」ができますよ。 また クラシックトゥイーンではなくモーショントゥイーンの場合限定では 「モーションプリセットとして保存」し「ウィンドウ」→「モーションプリセット」から あらかじめ保存しておいたモーションを適用させて使い回しもできますが。
お礼
お礼が遅くなり申し訳ございません。 BlurFiltanさんの助言を元に親ムービークリップの中に子ムービークリップを作成し、やっとそれらしきものがやっと完成しました。 スムーズに動かない箇所がありますので、また御伝授頂ければと思っています。宜しくお願い致します。
補足
BlurFiltanさん、ご回答有難うございます。 ご多忙の中、詳しいご回答を頂いたのに申し訳ございませんがMCがmyDown&myUpでは無かったんです・・・ http://www.rideback-anime.jp/rideback.html 上記のサイトの CHARACTER のメニューボタンをクリックして現れるCHARACTER人物相関図の18名のキャラクターのシーンです。 MC(イラスト画)をロールオーバーで拡大してバウンド、ロールアウトで戻り(縮小)バウンドするASを・・・しかも同時にMC(イラスト画)に赤い枠が付き、MC(赤い帯の文字)が横から現れバウンドする方法を教えて頂けませんか? ご回答頂いたmyDoun&myUpも、とても参考になりますので使わせて頂きます。 私の説明不足でお手数をお掛けしました。宜しくお願い致します。