События#
Введение#
Событие — это сигнал запуска для набора блоков. Блоки событий в 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 с тем же именем события. Остальная часть проекта будет ждать завершения обработки транслируемого события.
транслировать [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] ▶