Кнопка#
Вступ#
Клас button є похідним класом від класу controller. Він надає доступ до станів кнопок контролера та зворотних викликів подій кнопок.
Доступ до об’єкта button здійснюється через об’єкт controller Він не створюється безпосередньо.

Доступ#
Клас контролера controller надає такі об’єкти кнопок. Кожен об’єкт є екземпляром класу button.
Об’єкт |
Приклад використання |
Опис |
|---|---|---|
|
|
Кнопка E ▼. |
|
|
Кнопка E ▲. |
|
|
Кнопка F ▼. |
|
|
Кнопка F ▲. |
|
|
Кнопка Ліва джойстик. Тільки для контролера IQ (2-го покоління). |
|
|
Кнопка L ▼. |
|
|
Кнопка L ▲. |
|
|
Кнопка Правого джойстика. Тільки для контролера IQ (2-го покоління). |
|
|
Кнопка R ▼. |
|
|
Кнопка R ▲. |
Нотатки#
Перш ніж використовувати функцію-член
button, створіть об’єктcontroller.ButtonL3таButtonR3доступні лише на контролері IQ (2-го покоління).
// Create a controller object
controller Controller = controller();
Функції-члени#
Клас button містить такі функції-члени:
Геттер — Зчитування стану кнопки.
pressing— Повертає, чи натискається кнопка.
Зворотні виклики — Запускають функції, коли відбуваються події кнопок.
Геттер#
pressing#
pressing повертає інформацію про те, чи натиснута кнопка в даний момент.
Доступна функція
bool pressing() const;
Параметри
Ця функція не має параметрів.
Повернене значення
Повертає логічне значення.
true— Кнопка натискається.false— Кнопка не натискається.
Приклад
// Turn right while R Up is pressed
while (true) {
if (Controller.ButtonRUp.pressing()) {
Drivetrain.turn(right);
}
else {
Drivetrain.stop();
}
wait(20, msec);
}
Зворотні виклики#
pressed#
pressed реєструє функцію, яка виконується при натисканні кнопки.
Доступна функція
void pressed(void (* callback)(void)) const;
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Функція, яка виконується при натисканні кнопки. |
Повернене значення
Ця функція не повертає значення.
Приклад
Визначте функцію зворотного виклику поза межами main.
// Drive forward when F Up is pressed
void driveForward() {
Drivetrain.driveFor(forward, 100, mm);
}
Зареєструйте зворотний виклик всередині main.
int main() {
vexcodeInit();
// Run driveForward when F Up is pressed
Controller.ButtonFUp.pressed(driveForward);
}
released#
released реєструє функцію, яка виконується після відпускання кнопки.
Доступна функція
void released(void (* callback)(void)) const;
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Функція, яка виконується після відпускання кнопки. |
Повернене значення
Ця функція не повертає значення.
Приклад
Визначте функцію зворотного виклику поза межами main.
// Stop the drivetrain when F Up is released
void stopDriving() {
Drivetrain.stop();
}
Зареєструйте зворотний виклик всередині main.
int main() {
vexcodeInit();
// Run stopDriving when F Up is released
Controller.ButtonFUp.released(stopDriving);
}