電子書籍の厳選無料作品が豊富!

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

A 回答 (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をフレーム毎にマイナスして下さい。
    • good
    • 0
この回答へのお礼

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

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

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

お礼日時:2008/05/29 12:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!