-1

我有一个计时器和一个显示时间的动态文本字段。每次我的电影剪辑击中敌人时,我都希望计时器增加 4 秒。到当前计数。我想知道为什么这不起作用:

timer.currentCount + 4;

(什么也没做)

timer.currentCount += 4;

(错误:属性是只读的)

无论如何,我的方向是否正确,我应该改变什么?

4

2 回答 2

2

如另一个答案所述,您无法调整计时器的经过时间。您可以尝试做的是创建一个单独的 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);
}
于 2011-12-24T15:55:33.510 回答
0

该属性currentCount是只读的。您无法修改计时器的经过时间。如果您需要修改计时器,那么您可以停止它并创建一个具有修改间隔的新计时器。

于 2011-12-24T13:54:47.760 回答