Таймер

Стандартный объект Varwin, который используется для отсчета времени. Это «технический» объект, - он не отображается для игрока в режиме проигрывания, но его блоки запускаются согласно выбранной логике.

Blockly

Основное взаимодействие с таймером происходит внутри встроенного редактора логики Blockly

Для объекта по умолчанию заданы следующие типы блоков:

Логические блоки

../../_images/image_timer_4.png

Содержит блок, который возвращает одно из трех следующих состояние таймера:

  • приостановлен;
  • запущен;
  • остановлен.

Блоки действий

../../_images/image_timer_1.png

Содержит блоки для запуска таймера с различными режимами отсчета времени, его приостановкой или возобновлением.

Запустить таймер с интервалом N и продолжительностью/числом срабатываний M

После вызова этого действия каждые N секунд вызывается событие «Таймер сработал». После M секунд таймер останавливается, и вызывается событие «Таймер завершился».

Запустить единожды на заданное время N

Вызывется функция «Запуск таймера единожды на заданное время N»

Функция запускает разовый отсчет таймера длительностью N секунд. После их истечения таймер останавливается.

Запустить бесконечно с интервалом N

Вызывется функция «Запуск бесконечного таймера с интервалом N»

Функция запускает бесконечный таймер, который может отсчитывать время с помощью заданного интервала N, пока не будет остановлен.

Приостановить/Возобновить/Остановить

Блоки действий, которые позволяют приостанавливать, возобновлять или полностью останавливать работу таймера.

Переменные

../../_images/image_timer_3.png

Содержит блоки переменных с возможностью выбора значения таймера

  • с момента его запуска;
  • с предыдущего срабатывания;
  • до следующего срабатывания;
  • до завершения.

События

../../_images/image_timer_5.png

Блоки событий, реагирующие на запуск или остановку таймера и вызывающие события «Таймер сработал» или «Таймер завершился»

Примеры использования

Стандартный таймер

../../_images/image_timer_2.png

В данном примере в момент инициализации мира запускается таймер с интервалом 1 секунда и числом срабатываний 60, то есть через 60 секунд таймер должен завершиться. Следующий блок - это блок реакции на событие срабатывания таймера: когда срабатывает таймер, начинают выполняться блоки с функциями внутри этого блока, - выводится текст на текстовую панель (подробнее о текстовых панелях можно почитать тут) с указанием оставшегося числа срабатываний до завершения работы таймера. Третий блок реагирует на событие «Таймер завершился», которое автоматически происходит при завершении работы таймера и выполняет вложенные в него функции; в данном случае, блок выводит текст о том, что «Таймер завершился».

Отличие таймера с продолжительностью от таймера с числом срабатываний

Таймер продолжительности работает посекундно вне зависимости от интервала. Если пользователь установит визуальное отображение таймера, то он увидит, что при интервале 2 и продолжительности 60 секунд таймер досчитает только до 30 секунд, потому что между отображением каждой секунды проходит 2 секунды, как и задал пользователь.

Таймер числа срабатываний работает, пока таймер не достигнет числа срабатываний M. То есть, отсчет происходит вне зависимости от времени. Если пользователь установит визуальное отображение таймера, то он увидит, что при интервале 2 и продолжительности 60 секунд таймер досчитает до 60, но займет это 120 секунд, так как на счет каждой секунды будет потрачено две секунды, потому что пользователь установил интервал равный 2.