2011-01-05 89 views
1

我有一個動畫(箭頭在地圖上的路徑之後),我需要它每秒重複10次左右,以便在它們之後有無數的箭頭流路徑。AS3 - 在完成之前快速重複動畫剪輯

如何重複影片剪輯來實現此目的?

+0

如果您正在討論具有多個幀的MovieClip,則默認情況下會重複,除非您通過調用stop()來停止它。 – 2011-01-06 04:41:08

回答

0

使用Timer調用,在固定的時間間隔動畫你的箭的功能,或者如果你想在同一時間只有一個箭頭,派遣一個Event在動畫完成的時候,和add a listener,將調用您的功能時,該事件是出動。

1

如果您的MovieClip是路徑後面的單個箭頭,則需要定期實例化若干個影片剪輯以創建連續的箭頭流。

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);