Таймер

объект Таймер; TimerReactor

Производный от: Reactor

Объект таймера позволяет откладывать какие-либо действия в презентации на определённое время. После запуска таймера на определенное время, по прошествии этого времени таймер запускает событие Звонок (onAlarm). По этому событию можно производить различные действия, например, запустить анимацию у модели и т.д.

Рассмотрим немного измененный стандартный проект Model on marker (модель на метке). Ниже приведён сценарий отложенного запуска анимации. При показе метки таймер запускается на 3 секунды один раз. После того, как срабатывает таймер, запускается анимация модели на метке. При исчезновении метки таймер сбрасывается, если активен; анимация модели останавливается, если активна. Во время сброса таймера не нужно проверять, запущен он или уже «прозвенел».

../_images/mom_timer.png

Работа с таймером

Вводится в Таймер (TimerReactor)

Таймер не имеет каких-либо предварительных настроек и изменяет своё состояние непосредственно во время работы приложения; для этого имеются различные действия и соответствующие события.

../_images/timer_evt_act_overview.png

Событие

Описание

Запущен (onStart)

Вызывается при запуске таймера (см. действие Запустить (start)).

Приостановлен (onPause)

Вызывается при приостановке таймера (см. действие Приостановить (pause)).

Возобновлен (onResume)

Вызывается при возобновлении таймера (см. действие Возобновить (resume)).

Сброшен (onReset)

Вызывается при сбросе таймера (см. действие Сбросить (reset)).

Звонок (onAlarm)

Вызывается по прошествии заданного времени (см. действие Запустить (start)).

Действие

Описание

Запустить (start)

Запустить таймер.

Приостановить (pause)

Приостановить работу таймера.

Возобновить (resume)

Продолжить работу таймера.

Сбросить (reset)

Сбросить таймер.

Установить время (setAlarmTime)

Установить новое время работы.

Установить режим (setMode)

Установить новый режим работы.

событие Запущен; onStart()

Вызывается при запуске таймера (см. действие Запустить (start)).

событие Приостановлен; onPause()

Вызывается при приостановке таймера (см. действие Приостановить (pause)).

событие Возобновлен; onResume()

Вызывается при возобновлении таймера (см. действие Возобновить (resume)).

событие Сброшен; onReset()

Вызывается при сбросе таймера (см. действие Сбросить (reset)).

событие Звонок; onAlarm()

Вызывается по прошествии заданного времени (см. действие Запустить (start)).

действие Запустить; start(time, mode)

Запустить таймер на указанное время в указанном режиме. При вызове запускается событие Запущен (onStart).

Параметры
  • Время / time – Время срабатывания таймера.

  • Режим / mode – Режим работы: once - сработает один раз, loop - сработает каждый раз по прошествии заданного времени.

Примечание

Независимо от текущего состояния таймера (запущен, приостановлен и т.д.), при вызове действия Запустить (start) таймер всегда запускаетя на указанное время в указанном режиме и вызывается событие Запущен (onStart).

действие Приостановить; pause()

Приостановить работу таймера. При успешном вызове запускается событие Приостановлен (onPause).

Примечание

Если таймер уже приостановлен или не был запущен, событие Приостановлен (onPause) не запускается.

действие Возобновить; resume()

Продолжить работу таймера. При успешном вызове запускается событие Возобновлен (onResume).

Примечание

Если таймер уже запущен или продолжен, событие Возобновлен (onResume) не запускается.

Предупреждение

Если таймер не был запущен (не было вызвано действие Запустить (start)), действие Возобновить (resume) запускает таймер со следующими параметрами:

  • Время: 0 секунд (по умолчанию), то есть таймер сработает сразу; или значение, заданное предшествующим действием Установить время (setAlarmTime).

  • Режим: once (по умолчанию), то есть таймер сработает один раз; или значение, заданное предшествующим действием Установить режим (setMode).

См. также действия Установить время (setAlarmTime) и Установить режим (setMode).

действие Сбросить; reset()

Остановка работы таймера. При успешном вызове запускается событие Сброшен (onReset). При последующем вызове Запустить (start) отсчёт начинается сначала.

Примечание

Если таймер не был запущен, событие Сброшен (onReset) не запускается.

действие Установить время; setAlarmTime(time)

Установить новое время работы.

Параметры

Время / time – аналогично параметру действия Запустить (start).

Предупреждение

Вызов действия Установить время (setAlarmTime) имеет смысл только при запущенном таймере, либо перед вызовом действия Возобновить (resume). При этом, независимо от оставшегося времени срабатывания, выставляется новое время и событие Звонок (onAlarm) вызовется только по прошествии нового времени. Если действие Установить время (setAlarmTime) вызвать перед вызовом действия Запустить (start), то будет установлено время, указанное в аргументе Время действия Запустить (start). Подробнее см. действия Запустить (start) и Возобновить (resume).

действие Установить режим; setMode(mode)

Установить новый режим работы.

Параметры

Режим / mode – аналогично парамтру действия Запустить (start).

Предупреждение

Вызов действия Установить режим (setMode) имеет смысл только при запущенном таймере, либо перед вызовом действия Возобновить (resume). Если действие Установить режим (setMode) вызвать перед вызовом действия Запустить (start), то будет установлен режим работы, указанный в аргументе Режим действия Запустить (start). Подробнее см. действия Запустить (start) и Возобновить (resume).