Я создаю игру, в которой используется таймер, установленный на случайное число. Таймер подсчитывает до этого числа, после чего игра заканчивается. Я хотел бы, чтобы у игрока была возможность повторного воспроизведения, как только таймер закончится, но у меня возникли проблемы с определением того, как это сделать. Вот как это выглядит сейчас.Событие таймера AS3, вызывающее проблемы
var age:int = Math.floor(Math.random()*100)+1;
trace(age);
var upCounter:int = 1;
timer();
//timer
function timer(){
var myTimer:Timer = new Timer(1000, age);
myTimer.addEventListener("timer", timerHandler);
myTimer.start();
}
//displays timer and triggers outcome function
function timerHandler(event:TimerEvent):void{
if (upCounter < age) {
trace(upCounter);
age_txt.text = String(upCounter);
upCounter++;
}
else{
outcome();
}
}
Проблема в том, «возраст» и переменные «upCounter» являются глобальными, и если я их внутри функции «StartGame» Я не могу передать их в «timerHandler». Если я не помещаю их в функцию «startGame», я не знаю, как перезапустить игру. Благодарю.