Події#
Вступ#
Подія – це сигнал запуску набору блоків. Блоки подій у VEXcode дозволяють різним наборам блоків починати роботу в різний час. Наприклад, один набір блоків може запускатися на початку проекту, а інший – коли сигнал надсилається з іншого місця в проекті.
коли таймер – Запускає стек блоків після того, як таймер перевищить заданий час.
при запуску – Запускає приєднаний стек блоків під час запуску проєкту.
коли я отримую подію – Запускає приєднаний стек блоків, коли транслюється певна подія.
подія трансляції – Запускає подію без призупинення інших блоків.
трансляція події та очікування – Запускає подію та призупиняє інші блоки, доки завдання події не будуть завершені.
коли таймер#
Блок when timer запускає приєднаний стек блоків через заданий проміжок часу.
коли таймер > [1] секунд
Параметри |
Опис |
|---|---|
час |
Визначає кількість секунд перед початком роботи приєднаного стеку блоків. Приймає як цілі, так і десяткові числа. |
Приклад
коли таймер > [2] секунд
[Move the 6-Axis Arm after 2 seconds.]
змістити позицію [рука v] на x:[100] y:[0] z:[0] [мм v] ▶
коли розпочато#
Блок when started запускає виконання блоків під ним, коли починається проєкт. Кожному проєкту потрібен принаймні один блок when started — без нього блоки під ним не працюватимуть. Кілька блоків when started можна використовувати для одночасного запуску різних наборів блоків.
коли запущено
Параметри |
Опис |
|---|---|
Цей блок не має параметрів. |
Приклад
коли запущено
[Move the 6-Axis Arm 100 millimeters along the x-axis.]
змістити позицію [рука v] на x:[100] y:[0] z:[0] [мм v] ▶
Параметри |
Опис |
|---|---|
Цей блок не має параметрів. |
коли я отримую подію#
Блок коли я отримую подію запускає блоки нижче, коли сигнал з такою ж назвою події broadcast.
коли я отримую [my_event v]
Параметри |
Опис |
|---|---|
подія |
Подія, яку потрібно ініціювати. Користувачі можуть вибрати існуючу подію, створити нову, перейменувати вибрану подію або видалити її. |
Приклад
коли запущено
[Move the 6-Axis Arm 100 millimeters along the y-axis.]
змістити позицію [рука v] на x:[100] y:[0] z:[0] [мм v] ▶
надіслати [move_y v]
коли я отримую [move_y v]
вивести [Received!] на консоль ◀ і перейти до наступного рядка
змістити позицію [рука v] на x:[0] y:[100] z:[0] [мм v] ▶
трансляція події#
Блок стеку трансляційної події надсилає сигнал, який запускає будь-який блок коли я отримую подію з такою ж назвою події. Решта блоків у проекті продовжують виконуватися, не чекаючи на завершення цих блоків.
надіслати [message1 v]
Параметри |
Опис |
|---|---|
подія |
Подія, яку потрібно ініціювати. Користувачі можуть вибрати існуючу подію, створити нову, перейменувати вибрану подію або видалити її. |
Приклад
коли запущено
[Move the 6-Axis Arm 100 millimeters along the y-axis.]
змістити позицію [рука v] на x:[100] y:[0] z:[0] [мм v] ▶
надіслати [move_y v]
коли я отримую [move_y v]
вивести [Received!] на консоль ◀ і перейти до наступного рядка
змістити позицію [рука v] на x:[0] y:[100] z:[0] [мм v] ▶
трансляція події та очікування#
Блок стеку broadcast event та wait надсилає сигнал, який запускає будь-який блок when I receive event з такою ж назвою події. Решта проекту чекатиме на завершення виконання трансльованої події.
надіслати [message1 v] і чекати
Параметри |
Опис |
|---|---|
подія |
Подія, яку потрібно ініціювати. Користувачі можуть вибрати існуючу подію, створити нову, перейменувати вибрану подію або видалити її. |
Приклад
коли запущено
[Move the 6-Axis Arm 100 millimeters along the y-axis.]
змістити позицію [рука v] на x:[100] y:[0] z:[0] [мм v] ▶
надіслати [move_y v] і чекати
вивести [Finished moving!] на консоль ◀ і перейти до наступного рядка
коли я отримую [move_y v]
вивести [Received!] на консоль ◀ і перейти до наступного рядка
змістити позицію [рука v] на x:[0] y:[100] z:[0] [мм v] ▶