Предупреждение таймера - ИСПРАВЛЕНИЕ

У меня есть предупреждение таймера:

private var cheat:Timer;

private function init():void {
    cheat = new Timer(2000, 1);
    cheat.addEventListener(TimerEvent.TIMER_COMPLETE, cheatProtection);
}

private function showAlert():void {
    cheat.reset();
    cheat.start();
}
private function alrt_close(evt:CloseEvent):void {
    cheat.stop();
}

private function cheatProtection(evt:TimerEvent):void {
    Alert.show("Text", "Label", Alert.OK, this, alrt_close);
}

Итак, что я делаю, так это вызываю showAlert(), но Alert (функция CheatProtection) не срабатывает. Что случилось?

Спасибо, Ян


person Yan    schedule 31.08.2010    source источник
comment
Вы вызываете init() где-то в своем вызывающем классе, верно?   -  person Michael Todd    schedule 01.09.2010
comment
хм.. Я делаю: rollOut=showAlert() чего-то не хватает?   -  person Yan    schedule 01.09.2010
comment
Верно, но вы явно вызываете init() в какой-то момент? Если нет, ваш таймер никогда не будет создан. (Если только init() не вызывается автоматически; я уже давно не создавал объект Flex.)   -  person Michael Todd    schedule 01.09.2010


Ответы (2)


должно быть:

private var cheat:Timer;

private function init():void {
    cheat = new Timer(2000, 1);
    cheat.addEventListener(TimerEvent.TIMER_COMPLETE, cheatProtection);
    cheat.start();
}

private function showAlert():void {
    cheat.reset();
    cheat.start();
}
private function alrt_close(evt:CloseEvent):void {
    cheat.stop();
}

private function cheatProtection(evt:TimerEvent):void {
    Alert.show("Text", "Label", Alert.OK, this, alrt_close);
}
init();
person Eugene    schedule 31.08.2010
comment
Да! :) как тогда я смогу остановить таймер? на ролловере? - person Yan; 01.09.2010

Не знаю, поможет ли это, но в документации Adobe Flex прослушиватель TimerEvent добавляется после вызова start().

person softcr    schedule 31.08.2010