2013-03-07 57 views
0

我正在进行问答游戏,涉及5个问题。我为第一个问题做了一个计时器,所以当用户在10秒内没有回答这个问题时,他们会回答问题2(另一个框架)。 问题1计时器工作正常,我如何得到问题2与问题1完全相同?我试图在问题2中添加相同的代码,但它给了我一个错误。
感谢多个计时器帮助! FLASH as3

我的代码:

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); 

回答

1

首先,你不应该被过度multible帧这样做。但那是一个不同的讨论。

您应该停止计时器,删除监听器并移动到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); 
} 

Btw。您在计时器的repeatCount设置为2,new Timer(1000,2);这会给你2秒倒计时,没有太多的时间问题;)应该是count

也有musst是一个动态文本与在实例名称count00与代码一样的框架(不是图层)!

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

+0

TypeError:错误#1009:无法访问空对象引用的属性或方法。 \t在product_fla :: MainTimeline /倒计时() \t在flash.utils ::定时器/ _timerDispatch() \t在flash.utils ::定时器/蜱() – Jen 2013-03-07 12:47:05

+0

我现在得到这个。怎么了? – Jen 2013-03-07 12:48:06

+0

你之前得到什么错误? – M4tchB0X3r 2013-03-07 12:51:25