Використання подій#
У цьому посібнику розглядається використання подій у VEXcode IQ (2-го покоління). До кінця ви знатимете, як транслювати подію та отримувати на неї відповідь від іншого стеку блоків.
Події дозволяють окремим стекам блоків у проєкті взаємодіяти один з одним, використовуючи блоки з категорії Логіка - Події. Блоки, імена яких починаються з трансляція, сигналізують про те, що подія відбулася, а блоки, імена яких починаються з коли, запускають приєднаний до них стек блоків у відповідь.
Додайте до свого проєкту блок broadcast або блок broadcast and wait.
Виберіть розкривний список у блоці трансляція, щоб вибрати існуючу подію або створити, перейменувати чи видалити подію.
Додайте блок коли я отримую до робочої області та налаштуйте його випадаючий список відповідно до назви події, яка використовується у вашому блоці трансляції. Потім додайте блоки під ним, оскільки ці блоки запускатимуться щоразу, коли ця подія транслюватиметься.
Щойно блок when I receive збігається з назвою події, що використовується блоком broadcast, запуск проекту дозволяє обом стекам працювати одночасно. Наприклад, робот обертатиметься, доки не буде натиснуто кнопку Brain’s Check, а потім транслюватиме подію, яка зупиняє рух робота.
коли запущено
повернути [праворуч v]
чекати до <кнопка Brain [Перевірити v] натиснута?>
надіслати [my_event v]
коли я отримую [my_event v]
зупинити рух
Блоки, що починаються з when, також можна знайти в інших категоріях пристроїв, запускаючи прикріплені до них блоки щоразу, коли виконується умова цього пристрою. Наприклад, блоки when Brain button та when Bumper.
коли кнопка Brain [◀ v] [натиснуто v]
коли [Bumper1 v] [натиснуто v]