请帮忙!我无法弄清楚为什么我的Timer在循环次数后不会停止。我在开始时声明了一个变量“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);
}
答案 0 :(得分:0)
从这个代码开始,roundCount为0,所以你用repeatCount 0启动计时器,这意味着 - 永远重复。 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/Timer.html#Timer() roundCount也不会减少。你从它中减去了penaltyTimer.currentCount
要使计时器在你的情况下执行3次,你必须 确保创建计时器roundCount为3.创建计时器对象后更改值不会反映到计时器。