2010-05-30 193 views
0

我是AS3的新手。我如何執行n次自定義函數,然後重複執行另一個函數n次?as3自定義功能

例如。

function firstOne():void { } 

function secondOne():void { } 

我需要firstOne()執行說3次,然後secondOne()3次,然後firstOne 3次再等等。我試圖將動畫片段向左移動3次,然後向右移動3次。

感謝

回答

0

我覺得你有什麼問題是,你需要一個時間的推移,如果你正在移動影片剪輯。腐蝕的答案是正確的,但它將在同一幀中首先運行三次,如果你有一個補間等在那裏,他們將只是覆蓋一切。

我會有一個循環事件的計數器和函數保持器,可以將它添加到Timer事件,ENTER_FRAME事件或作爲補間的onComplete事件。

private var endFunc:Function = firstOne; 
private var count:int = 0; 

private function step(ev:Event) //CATCH ANY EVENT ETC IN HERE 
{ 
    int ++; 
    if(int>3){ 
     int = 0; 
     if(endFunc == firstOne){ endFunc = sencondOne }; 
     else { endFunc = firstOne }; 
    } 
    endFunc(); 
} 
0

爲什麼不把有你想要多少次迭代的輸入的第三個功能?

function thirdFunction(times_iterated:Number):void { 
    for(i=0; i<times_iterated; i++) { 
    firstOne(); 
    } 
} 

然後使第二功能

+0

我想將電影剪輯向左移動3次,然後向右移動3次。我試過你的代碼跟蹤'我'0到3,但firstOne()函數只執行一次 – pixeltocode 2010-05-30 10:16:12

+0

你可以嘗試第一個函數中的跟蹤,看看它是否被調用?如果你沒有看到第一個跟蹤,你可能在確定範圍時遇到問題 – corroded 2010-05-30 10:21:31