0

我们如何在计时器运行时重置 repeatCount 属性。

在游戏中,倒计时计时器从 120 开始运行。如果用户单击“提示”按钮,我需要将时间减少 5 秒并开始显示倒计时

现在的问题是倒数计时器减少了五,但计时器运行到“-n * 5”。“n”是点击提示按钮的次数。

如何解决这个问题?

4

1 回答 1

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
}
于 2012-05-03T14:04:54.263 回答