Використання подій#

Using Events

У цьому посібнику розглядається використання подій у VEXcode IQ (2-го покоління). До кінця ви знатимете, як транслювати подію та отримувати на неї відповідь від іншого стеку блоків.

Події дозволяють окремим стекам блоків у проєкті взаємодіяти один з одним, використовуючи блоки з категорії Логіка - Події. Блоки, імена яких починаються з трансляція, сигналізують про те, що подія відбулася, а блоки, імена яких починаються з коли, запускають приєднаний до них стек блоків у відповідь.

Додайте до свого проєкту блок broadcast або блок broadcast and wait.

Знімок екрана категорії інструментів «Логіка — події» з виділеними блоками «трансляція» та «трансляція й очікування».

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

Знімок екрана відкритого розкривного меню блоку трансляції, на якому показано опцію my_event разом із опціями «Нова подія», «Перейменувати подію» та «Видалити подію «my_event».

Додайте блок коли я отримую до робочої області та налаштуйте його випадаючий список відповідно до назви події, яка використовується у вашому блоці трансляції. Потім додайте блоки під ним, оскільки ці блоки запускатимуться щоразу, коли ця подія транслюватиметься.

Знімок екрана категорії інструментів «Логіка — події» з виділеними блоками «Коли я запустив» та «Коли я отримую».

Щойно блок 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]