AS3如何在hittest之后为(游戏)计时器添加秒数?

时间:2011-12-24 13:23:03

标签: actionscript-3 timer count add seconds

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

timer.currentCount + 4;

(什么都不做)

timer.currentCount += 4;

(错误:属性是只读的)

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

2 个答案:

答案 0 :(得分:2)

如另一个答案中所述,您无法调整计时器的已用时间。您可以尝试做的是创建一个单独的变量,每当var elapsedTime:Number;勾选为此变量添加1时,就调用timer。当发生命中测试时,您只需添加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);
}

答案 1 :(得分:0)

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