as3自定义功能
问题描述:
我是AS3的新手。我如何执行n次自定义函数,然后重复执行另一个函数n次?as3自定义功能
例如。
function firstOne():void { }
function secondOne():void { }
我需要firstOne()执行说3次,然后secondOne()3次,然后firstOne 3次再等等。我试图将动画片段向左移动3次,然后向右移动3次。
感谢
答
我觉得你有什么问题是,你需要一个时间的推移,如果你正在移动影片剪辑。腐蚀的答案是正确的,但它将在同一帧中首先运行三次,如果你有一个补间等在那里,他们将只是覆盖一切。
我会有一个循环事件的计数器和函数保持器,可以将它添加到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();
}
答
为什么不把有你想要多少次迭代的输入的第三个功能?
function thirdFunction(times_iterated:Number):void {
for(i=0; i<times_iterated; i++) {
firstOne();
}
}
然后使第二功能
我想将电影剪辑向左移动3次,然后向右移动3次。我试过你的代码跟踪'我'0到3,但firstOne()函数只执行一次 – pixeltocode 2010-05-30 10:16:12
你可以尝试第一个函数中的跟踪,看看它是否被调用?如果你没有看到第一个跟踪,你可能在确定范围时遇到问题 – corroded 2010-05-30 10:21:31