Пакет | flash.utils |
Класс | public class Timer |
Наследование | Timer EventDispatcher Object |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
start()
. Для настройки кода на выполнение через интервал таймера добавьте прослушиватель события timer
.
Объекты Timer можно создавать для однократного запуска или повторяющегося выполнения кода по расписанию. В зависимости от частоты кадров в SWF-файле или системе, в которой запущена среда выполнения, (доступная память и другие факторы), среда выполнения может отправлять события с небольшим сдвигом. Например, если SWF-файл настроен на проигрывание с частотой 10 кадров в секунду, т.е. с интервалом в 100 миллисекунд, а таймер настроен на запуск события через 80 миллисекунд, то событие будет запускаться примерно через 100-миллисекундный интервал. Сценарии, требующие большого объема памяти, также могут приводить к сдвигу времени отправки событий.
Свойство | Определено | ||
---|---|---|---|
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
currentCount : int [только для чтения]
Общее число срабатываний таймера с момента его запуска с нуля. | Timer | ||
delay : Number
Задержка в миллисекундах между событиями таймера. | Timer | ||
repeatCount : int
Общее число запусков, на которое настроен таймер. | Timer | ||
running : Boolean [только для чтения]
Текущее состояние таймера: если таймер выполняется, то true, в противном случае - false. | Timer |
Метод | Определено | ||
---|---|---|---|
Создает новый объект Timer с заданными состояниями delay и repeatCount. | Timer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события на объекте EventDispatcher для получения прослушивателем уведомления о событии. | EventDispatcher | ||
Посылает событие в поток событий. | EventDispatcher | ||
Проверяет, имеет ли объект EventDispatcher прослушиватели, зарегистрированные для определенного типа события. | EventDispatcher | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Удаляет прослушиватель из объекта EventDispatcher. | EventDispatcher | ||
Останавливает таймер, если он выполняется, и заново присваивает свойству currentCount значение 0, аналогично кнопке сброса на секундомере. | Timer | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Запускает таймер, если он еще не выполняется. | Timer | ||
Останавливает таймер. | Timer | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строковое представление заданного объекта. | Object | ||
Возвращает элементарное значение заданного объекта. | Object | ||
Проверяет, зарегистрирован ли прослушиватель события для указанного типа события с данным объектом EventDispatcher или любым его предшественником. | EventDispatcher |
Событие | Сводка | Определено | ||
---|---|---|---|---|
[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR перемещается в фокус операционной системы и становится активным. | EventDispatcher | |||
[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR теряет фокус системы и становится неактивным. | EventDispatcher | |||
Передается каждый раз при достижении объектом Timer интервала, указанного в свойстве Timer.delay. | Timer | |||
Передается каждый раз при выполнении количества запросов, указанного свойством Timer.repeatCount. | Timer |
currentCount | свойство |
currentCount:int
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Общее число срабатываний таймера с момента его запуска с нуля. Если таймер сбрасывается, учитываются только срабатывания после сброса.
Реализация
public function get currentCount():int
delay | свойство |
delay:Number
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Задержка в миллисекундах между событиями таймера. Если установить интервал задержки во время работы таймера, таймер будет перезапущен на текущей итерации repeatCount
.
Примечание. Не рекомендуется задавать свойству delay
значение меньше 20 миллисекунд. Частота объекта Timer ограничена 60 кадрами в секунду, то есть задержка меньше 16,6 миллисекунд вызывает проблемы во время выполнения.
Реализация
public function get delay():Number
public function set delay(value:Number):void
Выдает
Error — Вызывает исключение, если указанная задержка является отрицательным числом или не является конечным числом.
|
repeatCount | свойство |
repeatCount:int
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Общее число запусков, на которое настроен таймер. Если количество повторений содержит значение 0, таймер продолжает работу бесконечно, до истечения 24,86 дней, либо до вызова метода stop()
, либо до останова программы. Если количество повторений не равно нулю, таймер запускается указанное количество раз. Если значение количества повторений repeatCount
совпадает со значением текущей итерации currentCount
или меньше его, таймер останавливается и не запускается снова.
Реализация
public function get repeatCount():int
public function set repeatCount(value:int):void
running | свойство |
Timer | () | Конструктор |
public function Timer(delay:Number, repeatCount:int = 0)
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Создает новый объект Timer с заданными состояниями delay
и repeatCount
.
Таймер не запускается автоматически, для его запуска необходимо вызвать метод start()
.
delay:Number — Задержка в миллисекундах между событиями таймера. Не рекомендуется задавать свойству delay значение меньше 20 миллисекунд. Частота объекта Timer ограничена 60 кадрами в секунду, то есть задержка меньше 16,6 миллисекунд вызывает проблемы во время выполнения.
| |
repeatCount:int (default = 0 ) — Определяет количество повторений. Если значение равно 0, таймер повторяется бесконечно, максимально 24,86 дня (int.MAX_VALUE + 1). Если не равно нулю, таймер запускается указанное количество раз, а затем останавливается.
|
Выдает
Error — если указанная задержка является отрицательным числом или не является конечным числом
|
Пример ( Использование этого примера )
Создается объект Timer, который запускается через 30 секунд (установлена задержка в 30000 миллисекунд) и повторяется три раза, всего — 90 секунд. (После третьего раза таймер останавливается).
Для таймера myTimer
добавляется два прослушивателя событий. Первый срабатывает по событию TimerEvent.TIMER
, которое происходит при каждом запуске таймера. Метод timerHandler()
изменяет текст в текстовом поле statusTextField
, выводя оставшееся количество секунд.
Примечание. Класс Timer отслеживает количество запусков (repeats
), увеличивая число в свойстве currentCount
.)
При последнем вызове таймера отправляется событие TimerEvent.TIMER_COMPLETE
и вызывается метод completeHandler()
. Метод completeHandler()
изменяет тип текстового поля inputTextField
с INPUT
на DYNAMIC
. Это означает, что пользователь больше не может вводить или изменять текст.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldType; import flash.text.TextFieldAutoSize; import flash.utils.Timer; import flash.events.TimerEvent; import flash.events.Event; public class Timer_constructorExample extends Sprite { private var statusTextField:TextField = new TextField(); private var inputTextField:TextField = new TextField(); private var delay:uint = 30000; private var repeat:uint = 3; private var myTimer:Timer = new Timer(delay, repeat); public function Timer_constructorExample() { inputTextField.x = 10; inputTextField.y = 10; inputTextField.border = true; inputTextField.background = true; inputTextField.height = 200; inputTextField.width = 200; inputTextField.multiline = true; inputTextField.wordWrap = true; inputTextField.type = TextFieldType.INPUT; statusTextField.x = 10; statusTextField.y = 220; statusTextField.background = true; statusTextField.autoSize = TextFieldAutoSize.LEFT; myTimer.start(); statusTextField.text = "You have " + ((delay * repeat) / 1000) + " seconds to enter your response."; myTimer.addEventListener(TimerEvent.TIMER, timerHandler); myTimer.addEventListener(TimerEvent.TIMER_COMPLETE, completeHandler); addChild(inputTextField); addChild(statusTextField); } private function timerHandler(e:TimerEvent):void{ repeat--; statusTextField.text = ((delay * repeat) / 1000) + " seconds left."; } private function completeHandler(e:TimerEvent):void { statusTextField.text = "Times Up."; inputTextField.type = TextFieldType.DYNAMIC; } } }
reset | () | метод |
public function reset():void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Останавливает таймер, если он выполняется, и заново присваивает свойству currentCount
значение 0, аналогично кнопке сброса на секундомере. Затем, при вызове метода start()
экземпляр выполняется количество раз, определяемое значением repeatCount
.
Связанные элементы API
start | () | метод |
public function start():void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Запускает таймер, если он еще не выполняется.
stop | () | метод |
public function stop():void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Останавливает таймер. Когда метод start()
вызывается после метода stop()
, экземпляр таймера выполняется оставшееся количество раз, определяемое свойством repeatCount
.
Связанные элементы API
timer | Событие |
flash.events.TimerEvent
свойство TimerEvent.type =
flash.events.TimerEvent.TIMER
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Передается каждый раз при достижении объектом Timer интервала, указанного в свойстве Timer.delay
.
type
для объекта события timer
.
Это событие имеет следующие свойства:
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект Timer, достигший заданного интервала. |
timerComplete | Событие |
flash.events.TimerEvent
свойство TimerEvent.type =
flash.events.TimerEvent.TIMER_COMPLETE
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Передается каждый раз при выполнении количества запросов, указанного свойством Timer.repeatCount
.
type
для объекта события timerComplete
.
Это событие имеет следующие свойства:
Свойство | Значение |
---|---|
bubbles | false |
cancelable | false ; поведение по умолчанию, подлежащее отмене, не определено. |
currentTarget | Объект, активно обрабатывающий объект Event с помощью прослушивателя событий. |
target | Объект Timer, выполнивший запросы. |
TimerExample
для демонстрации настройки метода прослушивателя timerHandler()
на прослушивание передачи нового события TimerEvent. Таймер запускается при вызове метода start()
, а события начинают передаваться, начиная с этого момента.
package { import flash.utils.Timer; import flash.events.TimerEvent; import flash.display.Sprite; public class TimerExample extends Sprite { public function TimerExample() { var myTimer:Timer = new Timer(1000, 2); myTimer.addEventListener("timer", timerHandler); myTimer.start(); } public function timerHandler(event:TimerEvent):void { trace("timerHandler: " + event); } } }
Tue Jun 12 2018, 11:34 AM Z