as3自定义功能

时间:2010-05-30 09:56:21

标签: flash actionscript-3 function

我是AS3的新手。我如何重复执行自定义函数n次,然后重复执行另一个函数n次?

例如

function firstOne():void { }

function secondOne():void { }

我需要先执行firstOne()3次,然后执行secondOne()3次,然后再执行3次,依此类推。我试图将一个动画片段向左移动3次,然后连续向右移动3次。

感谢

2 个答案:

答案 0 :(得分:0)

为什么不制作一个第三个函数,它输入你想要迭代多少次?

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

然后是第二个函数

答案 1 :(得分: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();
}