0

请帮忙!我不知道为什么我的计时器在循环数后没有停止。我在开头声明了一个变量“roundCount”。Timer 应该在它的值为零时停止,对吧?但它不断递减“roundCount”的值 3,2,1,0,-1,-2,-3 等。

var roundLength:uint = 1000;
var roundCount:uint = 0;

con_btn.addEventListener(MouseEvent.CLICK, conPoint);

function conPoint(m:MouseEvent)
{
    if (cB.height == 60)
    {
        conductSigns.conductMasker.y = 27;
        roundCount = 10;
        penaltyTimer.start();
    }
}

var penaltyTimer:Timer = new Timer(roundLength,roundCount);
penaltyTimer.addEventListener(TimerEvent.TIMER, countDown);

function countDown(t:TimerEvent):void
{
    timeOut_txt.text = String(roundCount - penaltyTimer.currentCount);
}
4

1 回答 1

0

从这段代码中,roundCount 为 0,因此您使用 repeatCount 0 启动计时器,这意味着 - 永远重复。http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/Timer.html#Timer()roundCount 也不会减少。你减去它的惩罚Timer.currentCount

要使计时器在您的情况下执行 3 次,您必须
确保在创建计时器时 roundCount 为 3。在创建计时器对象后更改值不会反映到计时器。

于 2013-02-28T15:27:54.360 回答