Использование событий#
В этом руководстве рассматривается использование событий в VEXcode IQ (2-го поколения). К концу вы узнаете, как отправить событие и заставить другой набор блоков реагировать на него.
События позволяют отдельным стекам блоков в проекте взаимодействовать друг с другом, используя блоки из категории Логика - События. Блоки, имена которых начинаются с broadcast, сигнализируют о том, что произошло событие, а блоки, имена которых начинаются с when, в ответ запускают подключенный к ним стек блоков.
Добавьте в свой проект блок трансляции или блок трансляции и ожидания.
Выберите пункт в раскрывающемся списке блока трансляция, чтобы выбрать существующее событие, а также создать, переименовать или удалить событие.
Добавьте в рабочую область блок при получении и настройте его выпадающий список так, чтобы он соответствовал имени события, используемому в вашем блоке трансляции. Затем прикрепите блоки ниже, так как эти блоки будут запускаться всякий раз, когда это событие будет транслироваться.
Как только блок при получении совпадет с именем события, используемым блоком трансляции, запуск проекта позволит обоим стекам работать одновременно. Например, робот будет поворачиваться до тех пор, пока не будет нажата кнопка «Проверка мозга», после чего будет отправлено событие, которое остановит движение робота.
при запуске
поворот [вправо v]
ждать пока <кнопка [Проверка v] Brain нажата?>
транслировать [my_event v]
когда получено [my_event v]
остановить движение
Блоки, начинающиеся с when, также можно найти в других категориях устройств; они запускают прикрепленные к ним блоки всякий раз, когда выполняется условие для данного устройства. Например, блоки when Brain button и when Bumper.
когда кнопка [◀ v] Brain [нажат v]
когда [Bumper1 v] [нажат v]