我有一个计时器和一个显示时间的动态文本字段。 每当我的movieclip击中敌人时,我希望计时器增加4秒。到目前的数量。 我想知道为什么这不起作用:
timer.currentCount + 4;
(什么都不做)
timer.currentCount += 4;
(错误:属性是只读的)
无论如何我是否正确的方向,我应该改变什么?
答案 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
是只读的。您无法修改计时器的已用时间。如果您需要修改计时器,则可以停止该计时器并创建一个具有修改间隔的新计时器。