2010-05-30 148 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