我需要用以下帮助...Flex定时器延迟更换器?
var timer:Timer = new Timer(x);
基本上x是数组...
时timer.start()
调用
运行,第一计数为1000毫秒,则第二个800毫秒,第三个6200毫秒等等。换句话说,这是延迟的动态变化,而不是xms的连续延迟。
这怎么办?任何例子将不胜感激。
预先感谢您
我需要用以下帮助...Flex定时器延迟更换器?
var timer:Timer = new Timer(x);
基本上x是数组...
时timer.start()
调用
运行,第一计数为1000毫秒,则第二个800毫秒,第三个6200毫秒等等。换句话说,这是延迟的动态变化,而不是xms的连续延迟。
这怎么办?任何例子将不胜感激。
预先感谢您
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();
}
什么@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();
}
谢谢,这更清洁。我将timer.currentCount更改为(timer.currentCount-1),因为它跳过了数组的索引0。 – Zubair 2012-01-13 11:08:42
谢谢!它工作得很好,我把它改成了for循环,因为我有数百个延迟。 – Zubair 2012-01-12 10:37:15