我们如何在计时器运行时重置 repeatCount 属性。
在游戏中,倒计时计时器从 120 开始运行。如果用户单击“提示”按钮,我需要将时间减少 5 秒并开始显示倒计时
现在的问题是倒数计时器减少了五,但计时器运行到“-n * 5”。“n”是点击提示按钮的次数。
如何解决这个问题?
我们如何在计时器运行时重置 repeatCount 属性。
在游戏中,倒计时计时器从 120 开始运行。如果用户单击“提示”按钮,我需要将时间减少 5 秒并开始显示倒计时
现在的问题是倒数计时器减少了五,但计时器运行到“-n * 5”。“n”是点击提示按钮的次数。
如何解决这个问题?
这是解决您的问题的一种方法。保持一个与 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
}