如何在计时器运行时重置repeatCount属性。
在游戏中,倒数计时器开始以120运行。如果用户点击“提示”按钮,我需要将时间减少5秒并开始显示倒计时
现在的问题是倒数计时器减少了五次,但计时器一直运行到“-n * 5”。 “n”是提示按钮单击的次数。
如何解决这个问题?
答案 0 :(得分:2)
以下是解决问题的方法之一。保持与Timer的repeatCount
分开的定时器计数,并在该单独的计数器达到0时停止,而不是在TimerComplete事件发生时停止。
public var t:Timer;
public var count:int = 120;
protected function init(event:FlexEvent):void
{
t = new Timer(1000,count);
t.addEventListener(TimerEvent.TIMER, onTimer);
t.start();
}
protected function onTimer(evt:TimerEvent):void
{
count--;
//display count as time remaining
if (count <= 0)
{
//out of time!
t.stop();
}
}
protected function onHint(evt:MouseEvent):void
{
count-=5;
//update time or wait for next tick
}