Przycisk#
Wstęp#
Klasa przycisku button jest klasą pochodną klasy controller. Zapewnia dostęp do stanów przycisków kontrolera i wywołań zwrotnych zdarzeń przycisku.
Do obiektu przycisku button można uzyskać dostęp za pośrednictwem obiektu kontrolera controller Nie jest on tworzony bezpośrednio.

Dostęp#
Klasa kontrolera controller udostępnia następujące obiekty przycisków. Każdy obiekt jest instancją klasy przycisku button.
Obiekt |
Przykładowe użycie |
Opis |
|---|---|---|
|
|
Przycisk A. |
|
|
Przycisk B. |
|
|
Przycisk X. |
|
|
Przycisk Y. |
|
|
Przycisk W dół. |
|
|
Przycisk W górę. |
|
|
Przycisk Lewy. |
|
|
Przycisk Prawy. |
|
|
Przycisk L1. |
|
|
Przycisk L2. |
|
|
Przycisk R1. |
|
|
Przycisk R2. |
Notatki#
Przed użyciem funkcji członkowskiej przycisku
buttonutwórz obiekt kontroleracontroller.
// Create a Controller object
controller Controller = controller();
Funkcje członkowskie#
Klasa przycisku button zawiera następujące funkcje członkowskie:
Getter — Odczyt stanu przycisku.
pressing— Zwraca informację, czy przycisk jest naciśnięty.
Wywołania zwrotne — uruchamiają funkcje po wystąpieniu zdarzeń przycisku.
naciśnięto
pressed— Rejestruje funkcję, która ma zostać uruchomiona po naciśnięciu przycisku.released— Rejestruje funkcję, która ma zostać uruchomiona po zwolnieniu przycisku.
Rębacz#
pilny#
Naciśnięcie pressing , czy przycisk jest aktualnie wciśnięty.
Dostępna funkcja
bool pressing() const;
Parametry
Ta funkcja nie ma parametrów.
Wartość zwracana
Zwraca wartość logiczną.
true— Przycisk jest wciśnięty.false— Przycisk nie jest wciśnięty.
Przykład
// Turn right while L1 is pressed
while (true) {
if (Controller.ButtonL1.pressing()) {
Drivetrain.turn(right);
}
else {
Drivetrain.stop();
}
wait(20, msec);
}
Wywołania zwrotne#
prasowany#
pressed rejestruje funkcję, która jest uruchamiana po naciśnięciu przycisku.
Dostępna funkcja
void pressed(void (* callback)(void)) const;
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Funkcja uruchamiana po naciśnięciu przycisku. |
Wartość zwracana
Ta funkcja nie zwraca wartości.
Przykład
Zdefiniuj funkcję wywołania zwrotnego poza main.
// Drive forward when A is pressed
void driveForward() {
Drivetrain.driveFor(forward, 100, mm);
}
Zarejestruj wywołanie zwrotne wewnątrz main.
int main() {
vexcodeInit();
// Run driveForward when A is pressed
Controller.ButtonA.pressed(driveForward);
}
wydany#
released rejestruje funkcję, która jest uruchamiana po zwolnieniu przycisku.
Dostępna funkcja
void released(void (* callback)(void)) const;
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Funkcja uruchamiana po zwolnieniu przycisku. |
Wartość zwracana
Ta funkcja nie zwraca wartości.
Przykład
Zdefiniuj funkcję wywołania zwrotnego poza main.
// Stop the drivetrain when A is released
void stopDriving() {
Drivetrain.stop();
}
Zarejestruj wywołanie zwrotne wewnątrz main.
int main() {
vexcodeInit();
// Run stopDriving when A is released
Controller.ButtonA.released(stopDriving);
}