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.

Vorder- und Rückseite des V5-Controllers mit gelb hervorgehobenen Tasten. Auf der Vorderseite befinden sich links die Pfeiltasten (oben, unten, links, rechts) und rechts die Tasten X, A, B, Y (im Uhrzeigersinn von 12 Uhr aus). Auf der Rückseite befinden sich links und rechts die Tasten L1, L2, R1 und R2.

Zugang#

The controller class provides the following button objects. Each object is an instance of the button class.

Objekt

Anwendungsbeispiel

Beschreibung

ButtonA

Controller.ButtonA.pressing()

Die A-Taste.

ButtonB

Controller.ButtonB.pressing()

Die B-Taste.

ButtonX

Controller.ButtonX.pressing()

Die X-Taste.

ButtonY

Controller.ButtonY.pressing()

Die Y-Taste.

ButtonDown

Controller.ButtonDown.pressing()

Die Abwärts-Taste.

ButtonUp

Controller.ButtonUp.pressing()

Die Nach oben-Taste.

ButtonLeft

Controller.ButtonLeft.pressing()

Die linke Taste.

ButtonRight

Controller.ButtonRight.pressing()

Der rechte Knopf.

ButtonL1

Controller.ButtonL1.pressing()

Die L1-Taste.

ButtonL2

Controller.ButtonL2.pressing()

Die L2-Taste.

ButtonR1

Controller.ButtonR1.pressing()

Die R1-Taste.

ButtonR2

Controller.ButtonR2.pressing()

Die R2-Taste.

Anmerkungen#

  • Bevor Sie eine button Memberfunktion verwenden, erstellen Sie ein controller -Objekt.

// 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.

  • pressed — Registriert eine Funktion, die beim Drücken der Taste ausgeführt werden soll.

  • released — Registriert eine Funktion, die beim Loslassen der Taste ausgeführt werden soll.

Getter#

Drücken#

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 L1 is pressed
while (true) {
  if (Controller.ButtonL1.pressing()) {
    Drivetrain.turn(right);
  }
  else {
    Drivetrain.stop();
  }

  wait(20, msec);
}

Rückrufe#

gepresst#

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

callback

void (*)(void)

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 A is pressed
void driveForward() {
  Drivetrain.driveFor(forward, 100, mm);
}

Registriere den Callback innerhalb von main.

int main() {
  vexcodeInit();

  // Run driveForward when A is pressed
  Controller.ButtonA.pressed(driveForward);
}

freigegeben#

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

callback

void (*)(void)

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 A is released
void stopDriving() {
  Drivetrain.stop();
}

Registriere den Callback innerhalb von main.

int main() {
  vexcodeInit();

  // Run stopDriving when A is released
  Controller.ButtonA.released(stopDriving);
}