当帧循环ActionScript 3.0时,如何停止倒计时定时器的循环

时间:2016-06-13 13:54:47

标签: actionscript-3 flash countdowntimer

我目前正在制作一款需要倒数计时器的游戏,该计时器的开始时间为60秒,但计时器会在4秒后自动循环播放。

下面是我在Adobe Animate中使用的代码,它在帧完成时不断循环

import flash.utils.Timer;

var count:Number = 60;
var myTimer:Timer = new Timer(1000,count);
myTimer.addEventListener (TimerEvent.TIMER, countdown);
myTimer.start();

function countdown(event:TimerEvent) : void
{
Timer_txt.text = String ((count)-myTimer.currentCount + " seconds");
}

1 个答案:

答案 0 :(得分:0)

您正在错误地使用构造函数方法。在查看API文档(here)之后,我发现了

myTimer: Timer = new Timer(1000, 60);

将创建一个计时器,计时器将每1000毫秒运行一次,它将重复60次(然后停止工作)。这显然不是你所追求的。如果我理解正确,你想要一个计时器计数到60,然后重置为0.所以这样做:

myTimer: Timer = new Timer(1000);

是构造函数所需的全部内容。但是现在你需要在计时器滴答60次后添加一些将计时器重置为0的东西。对count变量进行检查。像这样:

if (myTimer.currentCount >= count)
{ 
    myTimer.reset();
}

我从来没有这样做过,但它看起来应该有效。然后,您可以让计时器文本字段更新每个计时器事件,类似于您设置的方式。