2011-01-05 7 views
1

アニメーション(矢印が地図上のパスに沿って表示されています)が発生しており、毎秒約10回繰り返す必要があります。パス。AS3 - 終了する前にMovieClipをすばやく繰り返します。

これを実現するにはどうすればよいですか?

+0

複数のフレームを持つMovieClipについて話している場合、stop()を呼び出して停止させない限り、デフォルトで繰り返されます。 –

答えて

0

一定間隔であなたの矢をアニメーション化する機能を呼び出すためにTimerを使用するか、一度に一つだけの矢印をしたい場合は、イベントがあるときに、あなたの関数を呼び出しますEventときのアニメーションが終了し、add a listenerを派遣発送します。

1

パスの後にMovieClipが1つの矢印である場合は、矢印の連続ストリームを作成するために、一定の間隔で複数のMovieClipsをインスタンス化する必要があります。

private var timer:Timer = new Timer(100); 

    private function init():void 
    { 
     timer.addEventListener(TimerEvent.TIMER , createArrow); 
     timer.start(); 
    } 

    private function createArrow(event:TimerEvent):void 
    { 
     var arrowMc:MovieClip = new ArrowMc(); 
     //here you should add a Complete Event listener 
     //so that when the MovieClip is complete 
     //you can remove it from the stage... 
     //for this to work your arrowMc should dispatch a Complete 
     //Event on the last frame! 
     addChild(arrowMc); 
    } 

また、アニメーションによっては、固定数のアニメーションMCをインスタンス化してループさせることもできます。あなたのアニメーションは、パスに沿って移動する単一の矢印であれば、上記と同様、タイマーに制限を設定することで、一定数のインスタンスを作成

private var timer:Timer = new Timer(100 , 10); 
    //etc... 
0

これは非常に古い質問ですが、ここではこれに対する私の答えです。 MCは、ガイドレイヤーを使用する基本アニメーションです。 私はMCをステージに複数回載せてから、間隔を使って1秒間隔でMCを繰り返します。 "redBox"は、MCをActionScriptにエクスポートするときに使用されるクラス名です。

var redBtn:redBox; 

function attachRedBoxes() { 
for (var i:Number = 0; i < 5; i++) { 
    redBtn = new redBox(); 
    redBtn.ID = i; 
    redBtn.name = "button_" + i; 
    addChild (redBtn); 

} 
} 


setInterval(attachRedBoxes,1000); 
関連する問題