Использование событий#

Using Events

В этом руководстве рассматривается использование событий в VEXcode IQ (2-го поколения). К концу вы узнаете, как отправить событие и заставить другой набор блоков реагировать на него.

События позволяют отдельным стекам блоков в проекте взаимодействовать друг с другом, используя блоки из категории Логика - События. Блоки, имена которых начинаются с broadcast, сигнализируют о том, что произошло событие, а блоки, имена которых начинаются с when, в ответ запускают подключенный к ним стек блоков.

Добавьте в свой проект блок трансляции или блок трансляции и ожидания.

Скриншот категории «Логика — События» на панели инструментов, где выделены блоки broadcast и broadcast and wait.

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

Скриншот открытого выпадающего списка блока трансляции, на котором показана опция my_event, а также опции «Новое событие», «Переименовать событие» и «Удалить событие "my_event"».

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

Скриншот категории «Логика — События» на панели инструментов, с выделенными блоками «Когда запущено» и «Когда я получаю».

Как только блок при получении совпадет с именем события, используемым блоком трансляции, запуск проекта позволит обоим стекам работать одновременно. Например, робот будет поворачиваться до тех пор, пока не будет нажата кнопка «Проверка мозга», после чего будет отправлено событие, которое остановит движение робота.

При запуске робот вращается до нажатия кнопки «Проверка», после чего передает событие, которое останавливает робота при его получении.#
при запуске
поворот [вправо v]
ждать пока <кнопка [Проверка v] Brain нажата?>
транслировать [my_event v]
когда получено [my_event v]
остановить движение

Блоки, начинающиеся с when, также можно найти в других категориях устройств; они запускают прикрепленные к ним блоки всякий раз, когда выполняется условие для данного устройства. Например, блоки when Brain button и when Bumper.

Блок «Кнопка Мозга».#
когда кнопка [◀ v] Brain [нажат v]
Блок «Бамперная шляпа».#
когда [Bumper1 v] [нажат v]