Я создал игру в AS3, используя учебник, написанный для AS2, но не могу заставить таймер работать правильно. Игра содержит 3 кадра, начальный экран, игровой цикл и конечный экран. таймер запускается на кадре 2 и ведет обратный отсчет (проверено на трассировке). Когда таймер достигает 0, я хочу перейти к кадру 3, который является конечным экраном игры, но мой код не работает.
var fl_SecondsToCountDown:Number = 30;
var fl_CountDownTimerInstance:Timer = new Timer(1000, fl_SecondsToCountDown);
fl_CountDownTimerInstance.addEventListener(TimerEvent.TIMER, fl_CountDownTimerHandler);
fl_CountDownTimerInstance.start();
theTimer.text = String(fl_SecondsToCountDown);
function fl_CountDownTimerHandler(event:TimerEvent):void
{
if(fl_SecondsToCountDown == 0){;
gotoAndPlay(3);
}else{
trace(fl_SecondsToCountDown + " seconds");
fl_SecondsToCountDown--;
}
}
Моя вторая проблема заключается в том, что ny timer (theTimer) не показывает время.
РЕДАКТИРОВАТЬ:
var running:Boolean = new Boolean();
running = false;
var time:Number = new Number();
var fl_SecondsToCountDown:Number = 30;
var fl_CountDownTimerInstance:Timer = new Timer(1000, fl_SecondsToCountDown);
fl_CountDownTimerInstance.addEventListener(TimerEvent.TIMER, fl_CountDownTimerHandler);
fl_CountDownTimerInstance.start();
function fl_CountDownTimerHandler(event:TimerEvent):void
{
time=fl_SecondsToCountDown;
if(time == 0){
running = false;
trace(running);
gotoAndStop(3);
}else{
trace(fl_SecondsToCountDown + " seconds");
fl_SecondsToCountDown--;
theTimer.text = String(fl_SecondsToCountDown);
}
}