我有一个计时器和一个显示时间的动态文本字段。每次我的电影剪辑击中敌人时,我都希望计时器增加 4 秒。到当前计数。我想知道为什么这不起作用:
timer.currentCount + 4;
(什么也没做)
timer.currentCount += 4;
(错误:属性是只读的)
无论如何,我的方向是否正确,我应该改变什么?
我有一个计时器和一个显示时间的动态文本字段。每次我的电影剪辑击中敌人时,我都希望计时器增加 4 秒。到当前计数。我想知道为什么这不起作用:
timer.currentCount + 4;
(什么也没做)
timer.currentCount += 4;
(错误:属性是只读的)
无论如何,我的方向是否正确,我应该改变什么?
如另一个答案所述,您无法调整计时器的经过时间。您可以尝试做的是创建一个单独的 var,var elapsedTime:Number;
每次timer
您向该 var 添加 1 的刻度时调用。当 hittest 发生时,您可以简单地将 4 添加到它。
因为您正在使用 var 来“操纵”您不再需要使用的时间currentCount
。只需elapsedTime
在更新功能中引用就可以了。
它看起来像这样:
var timer:Timer = new Timer(1000);
var elapsedTime:Number = 0;
timer.addEventListener(TimerEvent.TIMER, onTimerTick);
function onTimerTick(e:TimerEvent) : void
{
elapsedTime++;
updateTimerTxt();
}
function onHitTest() : void
{
elapsedTime += 4;
updateTimerTxt();
}
function updateTimerTxt() : void
{
timertxt.text = String(elapsedTime);
}
该属性currentCount
是只读的。您无法修改计时器的经过时间。如果您需要修改计时器,那么您可以停止它并创建一个具有修改间隔的新计时器。