我需要以下帮助...
var timer:Timer = new Timer(x);
基本上x是一个数组...
调用timer.start()
时
它运行,第一个计数是1000毫秒,然后是第二个800毫秒,第三个计数是6200毫秒,依此类推。换句话说,它是延迟的动态变化,而不是x ms的连续延迟。
如何做到这一点?任何例子都将不胜感激。
提前谢谢
答案 0 :(得分:2)
var timer:Timer = new Timer(delay);
timer.addEventListener(TimerEvent.TIMER, timerHandler);
timer.start();
function timerHandler(e:TimerEvent):void
{
timer.stop();
if (timer.currentCount == 1) {
timer.delay = 800;
} else if (timer.currentCount == 2) {
timer.delay = 6200;
} else {
//other conditions
}
timer.start();
}
答案 1 :(得分:1)
@package说的是对的。根据你的评论说你有数百个延迟,这将是更好的代码。
var delays:Array=[1000, 500, 6200, ...];
var timer:Timer = new Timer(delay);
timer.addEventListener(TimerEvent.TIMER, timerHandler);
timer.start();
function timerHandler(e:TimerEvent):void {
timer.stop();
timer.delay = delays[timer.currentCount-1];
timer.start();
}