こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Flash ふわふわメニュー ロールオーバーでストップ

下記サイトを参考にして、ふわふわしたメニューを作成したのですが、ボタン(風船)をロールオーバーしたらストップするようにするにはどうしたらよいのでしょうか?使用しているバージョンはFLASH8です。

http://hfm-kenchan.com/Lesson/log_qa/D0609292.htm


 onClipEvent (load) { 
   this._xscale = this._yscale = 10; 
   vs = 0;
 }
 onClipEvent (enterFrame) { 
   vs = vs*0.8+(100-this._yscale)/5;
   this._xscale = this._yscale += vs;
 }


 onClipEvent (load) { 
   yy = this._y; 
   rad = 0;
 }
 onClipEvent (enterFrame) { 
   this._rotation += 0.2;
   rad += 0.1;
   this._y = Math.sin(rad)*10+yy;
   if (rad > 10)                      
 } 

投稿日時 - 2008-05-28 14:07:50

QNo.4057025

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

こんにちは!

>this._y = Math.sin(rad)*10+yy;
の部分で風船をy方向振動させてるのですね!

でしたら"10"を変数(仮にa)に書き換えます。そうすると
this._y = Math.sin(rad)*a+yy;

となりますね!これでロールオーバー時にaの数値をいじることで
停止したりできます。

aについて例えば、
onClipEvent(onload){ //aの初期値
 a=10;
}
onClipEvent(onRollOver){ //ロールオーバー時に振動停止
 a=0;
}
onClipEvent(onRollOut){ //ロールアウト時に振動再開
 a=10;
}

を追記してやります。
停止を滑らかにしたい場合はaをフレーム毎にマイナスして下さい。

投稿日時 - 2008-05-29 09:39:17

お礼

さっそくのご回答ありがとうございます!
変数に書き換えましたらできました!

僕はロールオーバーに
this._y = Math.sin(rad)*0+yy;
を入れてたのですが、全く反映されず。。

本当にありがとうございました!

投稿日時 - 2008-05-29 12:56:16

あなたにオススメの質問