События#

Введение#

Событие — это сигнал запуска для набора блоков. Блоки событий в VEXcode позволяют различным наборам блоков запускаться в разное время. Например, один набор блоков может запуститься при запуске проекта, а другой — при отправке сигнала из другого места в проекте.

когда таймер#

Блок when timer запускает прикрепленный к нему стек блоков по истечении заданного промежутка времени.

Блок таймера.#
когда таймер > [1] секунд

Параметры

Описание

время

Указывает количество секунд до начала работы прикрепленного стека блоков. Принимает как целые, так и десятичные числа.

Пример

когда таймер > [2] секунд
[Move the 6-Axis Arm after 2 seconds.]
изменить позицию [рука v] на x:[100] y:[0] z:[0] [мм v] ▶

когда началось#

Блок when started запускает блоки, расположенные ниже, с момента начала проекта. Каждому проекту необходим как минимум один блок when started — без него блоки, расположенные ниже, не будут работать. Можно использовать несколько блоков when started для одновременного запуска разных наборов блоков.

Блок “Когда началась”.#
при запуске

Параметры

Описание

Этот блок не имеет параметров.

Пример

при запуске
[Move the 6-Axis Arm 100 millimeters along the x-axis.]
изменить позицию [рука v] на x:[100] y:[0] z:[0] [мм v] ▶

Параметры

Описание

Этот блок не имеет параметров.

когда я получаю событие#

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

Блок “Когда я получаю событие”.#
когда получено [my_event v]

Параметры

Описание

событие

Событие, которое необходимо запустить. Пользователи могут выбрать существующее событие, создать новое, переименовать выбранное событие или удалить его.

Пример

при запуске
[Move the 6-Axis Arm 100 millimeters along the y-axis.]
изменить позицию [рука v] на x:[100] y:[0] z:[0] [мм v] ▶
транслировать [move_y v]

когда получено [move_y v]
вывести [Received!] в консоль ◀ и перенести курсор на следующую строку
изменить позицию [рука v] на x:[0] y:[100] z:[0] [мм v] ▶

трансляция события#

Блок стека широковещательных событий отправляет сигнал, который запускает любой блок при получении события с тем же именем события. Остальные блоки в проекте продолжают работать, не дожидаясь завершения этих блоков.

Блок стека широковещательных событий.#
транслировать [message1 v]

Параметры

Описание

событие

Событие, которое необходимо запустить. Пользователи могут выбрать существующее событие, создать новое, переименовать выбранное событие или удалить его.

Пример

при запуске
[Move the 6-Axis Arm 100 millimeters along the y-axis.]
изменить позицию [рука v] на x:[100] y:[0] z:[0] [мм v] ▶
транслировать [move_y v]

когда получено [move_y v]
вывести [Received!] в консоль ◀ и перенести курсор на следующую строку
изменить позицию [рука v] на x:[0] y:[100] z:[0] [мм v] ▶

транслировать событие и ждать#

Блок стека broadcast event and wait отправляет сигнал, который запускает любой блок when I receive event с тем же именем события. Остальная часть проекта будет ждать завершения обработки транслируемого события.

Событие Broadcast и блок ожидания.#
транслировать [message1 v] и ждать

Параметры

Описание

событие

Событие, которое необходимо запустить. Пользователи могут выбрать существующее событие, создать новое, переименовать выбранное событие или удалить его.

Пример

при запуске
[Move the 6-Axis Arm 100 millimeters along the y-axis.]
изменить позицию [рука v] на x:[100] y:[0] z:[0] [мм v] ▶
транслировать [move_y v] и ждать
вывести [Finished moving!] в консоль ◀ и перенести курсор на следующую строку


когда получено [move_y v]
вывести [Received!] в консоль ◀ и перенести курсор на следующую строку
изменить позицию [рука v] на x:[0] y:[100] z:[0] [мм v] ▶