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

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