ГлавнаяActionScript 3 — «100 советов» › Класс Timer

Класс Timer

June 19th, 2006
В ActionScript 3 введен новый класс Timer (flash.utils.Timer), который заменяет устаревшую функцию setInterval (flash.utils.setInterval()), хоть setInterval пока и оставлена, использовать ее не рекомендуется. В отличие от setInterval класс Timer рассылает события (flash.events.TimerEvent), а значит на один таймер можно навесить сколько угодно обработчиков. Кроме того, Timer дает возможность контролировать сколько раз должен сработать таймер.
Пример:

Код:
var timer:Timer = new Timer(500, 10); timer.addEventListener(TimerEvent.TIMER, notifier); timer.addEventListener(TimerEvent.TIMER, stopper); stage.addEventListener(MouseEvent.CLICK, continuer); function notifier(event:TimerEvent):void { trace(timer.currentCount); } function stopper(event:TimerEvent):void { switch (timer.currentCount) { case 5: timer.stop(); break; case timer.repeatCount: timer.reset(); break; } } function continuer(event:MouseEvent):void { timer.start(); } timer.start();

Здесь timer 10 раз подряд посылает событие TimerEvent.TIMER каждые 500 миллисекунд. На событие добавлены два обработчика, один выводит номер текущей итерации, другими словами, сколько раз уже сработал таймер (свойство currentCount), а другой останавливает таймер после 5-го срабатывания (метод stop), или сбрасывает счетчик итераций (метод reset), когда количество итераций достигает максимально заданного (свойство repeatCount). Кликом мышки по сцене можно заново запустить остановленный таймер (метод start).
Результат выполнения:

Код:
1 2 3 4 5 (пауза; клик для продолжения) 6 7 8 9 10 (пауза; клик для продолжения) 1 2 3 4 5 ...

Категория: ActionScript 3 — «100 советов» Ярлыки: ,

Смотрите также

Закрытие сетевых соединений Взаимодействие между AVM2 (AS3) и AVM1 (AS2/AS1) через LocalConnection
  1. Пока без комментариев.
  1. Пока нету.