0

我正在做一个问答游戏,涉及 5 个问题。我为第一个问题设置了一个计时器,所以当用户在 10 秒内没有回答问题时,他们将转到问题 2(另一个框架)。问题 1 计时器工作正常,我如何让问题 2 与问题 1 完全相同?我尝试将相同的代码添加到问题 2 中,但它给了我一个错误。
谢谢

我的代码:

stop();

var count:Number = 10;
var myTimer:Timer=new Timer(1000,2);
myTimer.addEventListener(TimerEvent.TIMER, countdown);
myTimer.start();

function countdown(event:TimerEvent):void {
count00.text=String((count)-myTimer.currentCount); 

if(count00.text == "0"){
gotoAndStop(85);
}
}


myTimer.stop();
myTimer.removeEventListener(TimerEvent.TIMER, countdown);
4

1 回答 1

1

首先,您不应该在多帧上执行此操作。但那是一个不同的讨论。

您应该停止计时器,移除侦听器并移至 onComplete 事件中的下一帧。

stop();

var count:Number = 10;
var myTimer:Timer=new Timer(1000,count);// this should be the total count
myTimer.addEventListener(TimerEvent.TIMER, countdown);
myTimer.addEventListener(TimeEvent.TIMER_COMPLETE, timerDone);
myTimer.start();

function countdown(event:TimerEvent):void {
    count00.text=String((count)-event.currentTarget.currentCount);//get currentCount from event 
}

function timerDone(e:TimerEvent):void{
    trace("Timer finishing!");
    myTimer.stop();
    myTimer.removeEventListener(TimerEvent.TIMER, countdown);
    gotoAndStop(85);
}

顺便提一句。您将计时器的 repeatCount 设置为 2,new Timer(1000,2);这会给您 2 秒倒计时,没有太多时间提问;)应该是count

还必须有一个动态文本字段,其实例名称count00与代码在同一帧(不是图层)中!

请始终在问题中包含相关的错误消息!

于 2013-03-07T12:37:20.180 回答