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