Taste#
Einführung#
Die Klasse button ist eine abgeleitete Klasse der Klasse „controller“. Sie ermöglicht den Zugriff auf die Zustände der Controller-Tasten und die Rückruffunktionen für Tastenereignisse.
Ein Objekt mit button Tasten wird über ein Objekt mit controller angesprochen. Es wird nicht direkt erstellt.

Zugang#
The controller class provides the following button objects. Each object is an instance of the button class.
Objekt |
Anwendungsbeispiel |
Beschreibung |
|---|---|---|
|
|
Die E ▼-Taste. |
|
|
Die E ▲-Taste. |
|
|
Die F ▼-Taste. |
|
|
Die F ▲-Taste. |
|
|
Die linke Joystick-Taste. Nur für IQ-Controller (2. Generation). |
|
|
Die L ▼-Taste. |
|
|
Die L ▲-Taste. |
|
|
Die rechte Joystick-Taste. Nur für IQ-Controller (2. Generation). |
|
|
Die R ▼-Taste. |
|
|
Die R ▲-Taste. |
Anmerkungen#
Bevor Sie eine
buttonMemberfunktion verwenden, erstellen Sie eincontroller-Objekt.Die Tasten
ButtonL3undButtonR3sind nur auf dem IQ (2. Generation) Controller verfügbar.
// Create a controller object
controller Controller = controller();
Mitgliedsfunktionen#
Die Klasse button enthält die folgenden Memberfunktionen:
Getter – Status der Schaltfläche lesen.
pressing— Gibt zurück, ob die Taste gedrückt wird.
Callbacks – Funktionen werden ausgeführt, wenn Schaltflächenereignisse auftreten.
Getter#
pressing#
pressing wird angezeigt, ob die Taste gerade gedrückt wird.
Verfügbare Funktionen
bool pressing() const;
Parameter
Diese Funktion hat keine Parameter.
Rückgabewert
Gibt einen booleschen Wert zurück.
true— Der Knopf wird gedrückt.false— Der Knopf wird nicht gedrückt.
Beispiel
// Turn right while R Up is pressed
while (true) {
if (Controller.ButtonRUp.pressing()) {
Drivetrain.turn(right);
}
else {
Drivetrain.stop();
}
wait(20, msec);
}
Rückrufe#
pressed#
pressed registriert eine Funktion, die beim Drücken der Taste ausgeführt wird.
Verfügbare Funktionen
void pressed(void (* callback)(void)) const;
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Eine Funktion, die beim Drücken des Knopfes ausgeführt wird. |
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Beispiel
Definiere die Callback-Funktion außerhalb von main.
// Drive forward when F Up is pressed
void driveForward() {
Drivetrain.driveFor(forward, 100, mm);
}
Registriere den Callback innerhalb von main.
int main() {
vexcodeInit();
// Run driveForward when F Up is pressed
Controller.ButtonFUp.pressed(driveForward);
}
released#
released registriert eine Funktion, die ausgeführt wird, wenn die Taste losgelassen wird.
Verfügbare Funktionen
void released(void (* callback)(void)) const;
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Eine Funktion, die beim Loslassen der Taste ausgeführt wird. |
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Beispiel
Definiere die Callback-Funktion außerhalb von main.
// Stop the drivetrain when F Up is released
void stopDriving() {
Drivetrain.stop();
}
Registriere den Callback innerhalb von main.
int main() {
vexcodeInit();
// Run stopDriving when F Up is released
Controller.ButtonFUp.released(stopDriving);
}