2012-05-09 11 views
0

親をロールオーバーするときにアニメートする要素が必要なFlashバナーがあります。その後、ロールアウトするときに別のアニメーションを停止してから実行してください。これは、ユーザーが自分自身の振る舞いをしている限りうまくいきますが、マウスをゆっくり動かしていくつかのロールオーバー/ロールアウトを素早く連続して実行すると、アニメーションは無限ループになります。他の誰かがこの問題にぶつかっていますか?ループからのアニメーションのフラッシュ -

マイアクションスクリプトは、(この場合)

on (rollOver) { 
    //frames 2 - 10 are the "turn on" animation 
    this.gotoAndPlay(2); 
    //frames 11 - 25 are house_three's "turn on" animation 
    _root.house_three.gotoAndPlay(11); 
} 
on (rollOut) { 
    //frames 11 - end are the "turn off" animation 
    this.gotoAndPlay(11); 
    //frames 26 - end are house_three's "turn off" animation 
    _root.house_three.gotoAndPlay(26); 
} 

house_threeは、フレーム10、25及び最後のフレームにstop(); Sを有し、現在のオブジェクトは、フレーム1、10及び最後にstop(); Sを有していますいずれにしても、それらを過ぎて再生すべきではありません。

私は、アニメーションの多くのインスタンスがキューに入れられていると考えていましたが、それはアニメーションを何回も実行してから停止しますが、無限に実行されているようです。

答えて

0

rollOverとrollOutの内部でテストを設定して、バナーが現在再生中かどうかを確認してください。そうであれば停止してから再生してください。

if(this.isPlaying) 
{ 
    this.stop(); 
    this.gotoAndPlay(2) 
} 
+0

問題を見つけました。ファイルサイズを最小限に抑えるために、ムービーオブジェクト内にactionscriptの「一時停止してから再生する」機能を使用していましたが、それは無限にキューに入れられていた一時停止でした。いったんそれらを削除して、一度に数秒間同じフレームを複製すると、正常に動作しました。あなたの助けをありがとう、私はこのソリューションはおそらく(チェックすることはできません、私は解決策を見つけるとすぐに悪いコードを取り除いた)と思うだろうと思う。 – Heroes182

関連する問題