События#
Введение#
Событие — это пусковой сигнал для набора блоков. Блоки событий в VEXcode V5 позволяют различным наборам блоков запускаться в разное время. Например, один набор блоков может запуститься при запуске проекта, а другой — при отправке сигнала из другого места в проекте.
при запуске – Запускает прикрепленный стек блоков при запуске проекта.
в автономном режиме – Запускает прикрепленный стек блоков, когда Мозг получает автономный сигнал.
при управлении драйвером – Запускает прикрепленный стек блоков, когда Мозг получает сигнал управления драйвером.
при получении события – Запускает прикрепленный стек блоков при трансляции определенного события.
событие трансляции – Запускает событие, не приостанавливая работу других блоков.
трансляция события и ожидание – Запускает событие и приостанавливает другие блоки до завершения задач события.
когда началось#
Блок when started запускает блоки, расположенные ниже, с момента начала проекта. Каждому проекту необходим как минимум один блок when started — без него блоки, расположенные ниже, не будут работать. Можно использовать несколько блоков when started для одновременного запуска разных наборов блоков.
при запуске
Параметры |
Описание |
|---|---|
Этот блок не имеет параметров. |
Пример
при запуске
[Turn around at the start of the project.]
повернуть на курс [180] градусов ▶
когда автономный#
Блок при автономной работе запускает прикрепленный к нему стек блоков, когда «Мозг» получает автономный сигнал.
Этот блок используется только для конкурсных проектов.
при автономном режиме :: hat events
Параметры |
Описание |
|---|---|
Этот блок не имеет параметров. |
когда управление водителем#
Блок управления при управлении водителем запускает подключенный к нему набор блоков, когда блок управления получает управляющий сигнал от водителя.
Этот блок используется только для конкурсных проектов.
when drive control :: hat events
Параметры |
Описание |
|---|---|
Этот блок не имеет параметров. |
когда я получаю событие#
Блок при получении события запускает блоки ниже, когда сигнал с тем же именем события транслируется.
когда получено [my_event v]
Параметры |
Описание |
|---|---|
событие |
Событие, которое необходимо запустить. Пользователи могут выбрать существующее событие, создать новое, переименовать выбранное событие или удалить его. |
Пример
при запуске
[Display a message and turn at the same time when the screen is pressed.]
ждать пока <экран нажат?>
транслировать [turn v]
когда получено [turn v]
вывести [Received!] на экран ▶
поворот [вправо v] на [90] градусов ▶
трансляция события#
Блок стека широковещательных событий отправляет сигнал, который запускает любой блок при получении события с тем же именем события. Остальные блоки в проекте продолжают работать, не дожидаясь завершения этих блоков.
транслировать [message1 v]
Параметры |
Описание |
|---|---|
событие |
Событие, которое необходимо запустить. Пользователи могут выбрать существующее событие, создать новое, переименовать выбранное событие или удалить его. |
Пример
при запуске
[Turn left when the screen is pressed.]
вечно
если <экран нажат?> то
транслировать [screen_press v]
иначе
поворот [вправо v]
когда получено [screen_press v]
поворот [влево v]
транслировать событие и ждать#
Блок стека broadcast event and wait отправляет сигнал, который запускает любой блок when I receive event с тем же именем события. Остальная часть проекта будет ждать завершения обработки транслируемого события.
транслировать [message1 v] и ждать
Параметры |
Описание |
|---|---|
событие |
Событие, которое необходимо запустить. Пользователи могут выбрать существующее событие, создать новое, переименовать выбранное событие или удалить его. |
Пример
при запуске
[Move after the Brain's screen is pressed.]
ждать пока <экран нажат?>
транслировать [forward_and_turn v] и ждать
вывести [Movement done.] на экран ▶
когда получено [forward_and_turn v]
движение [вперёд v] на [100] [мм v] ▶
поворот [вправо v] на [90] градусов ▶