我目前正在制作一款需要倒数计时器的游戏,该计时器的开始时间为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");
}
答案 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();
}
我从来没有这样做过,但它看起来应该有效。然后,您可以让计时器文本字段更新每个计时器事件,类似于您设置的方式。