PDA

Просмотр полной версии : Задание новых параметров для таймера


Tetraeon
24.09.2012, 20:46
Приветствую, подскажите пожалуйста как задать новые параметры для таймера кроме как еще раз запустить слушатель для этого таймера (побочный эффект срабатывание сразу нескольких экземпляров этого таймера)

this.udarTime = Math.round(30 - udarBonus * 2);
udarTimer = new Timer(udarTime,100);
udarTimer.addEventListener(TimerEvent.TIMER, udar);
udarTimer.start();

tsarapkabel
24.09.2012, 21:05
Чтобы избежать "побочного эффекта", сбрасываем таймер и удаляем слушатель перед добавлением и запуском нового таймера:

if (udarTimer.running) {
udarTimer.reset();
udarTimer.removeEventListener(TimerEvent.TIMER, udar);
}

caseyryan
24.09.2012, 22:01
Слушатель-то зачем удалять?

timer.reset(); // останавливает и сбрасывает таймер на значения по умолчанию
timer.delay = newTime; // задает новое время задержки
timer.start();

Tetraeon
24.09.2012, 23:33
Класс спасибо большое )

in4core
25.09.2012, 15:06
Слушатель-то зачем удалять? Обычный destroy - обязателен в случае очищения от грехов)

caseyryan
25.09.2012, 15:10
а кто говорит о каких грехах? )
В данном случае слушатель удалять не обязательно. Таймер остается тот же, зачем по десять раз перевешивать на него слушатель?