Knapp#

Introduktion#

Knappklassen button är en härledd klass av controller-klassen. Den ger åtkomst till knapptillstånd för controller och återanrop för knapphändelser.

Ett button nås via ett controller Det är inte konstruerat direkt.

Framsidan och baksidan av V5-kontrollen med knapparna markerade i gult. På kontrollens yta finns uppåt-, nedåt-, vänster- och högerpilknappar till vänster, och X-, A-, B- och Y-knappar medsols från klockan 12 till höger. På baksidan av kontrollen finns L1, L2, R1 och R2 på vänster respektive höger sida.

Tillträde#

Klassen controller tillhandahåller följande knappobjekt. Varje objekt är en instans av klassen button.

Objekt

Exempel på användning

Beskrivning

ButtonA

Controller.ButtonA.pressing()

A-knappen.

ButtonB

Controller.ButtonB.pressing()

B-knappen.

ButtonX

Controller.ButtonX.pressing()

X-knappen.

ButtonY

Controller.ButtonY.pressing()

Y-knappen.

ButtonDown

Controller.ButtonDown.pressing()

Nedåt--knappen.

ButtonUp

Controller.ButtonUp.pressing()

Upp-knappen.

ButtonLeft

Controller.ButtonLeft.pressing()

Vänster-knappen.

ButtonRight

Controller.ButtonRight.pressing()

Höger-knappen.

ButtonL1

Controller.ButtonL1.pressing()

L1-knappen.

ButtonL2

Controller.ButtonL2.pressing()

L2-knappen.

ButtonR1

Controller.ButtonR1.pressing()

R1-knappen.

ButtonR2

Controller.ButtonR2.pressing()

R2-knappen.

Anteckningar#

  • Innan du använder en button medlemsfunktion, skapa ett controller -objekt.

// Create a Controller object
controller Controller = controller();

Medlemsfunktioner#

Klassen button innehåller följande medlemsfunktioner:

Getter — Läs knappens tillstånd.

  • pressing — Returnerar om knappen trycks ner.

Återanrop — Kör funktioner när knapphändelser inträffar.

  • pressed — Registrerar en funktion som ska köras när knappen trycks ned.

  • released — Registrerar en funktion som ska köras när knappen släpps.

Getter#

brådskande#

pressing , anger du om knappen trycks ned för närvarande.

Tillgänglig funktion

bool pressing() const;

Parametrar

Den här funktionen har inga parametrar.

Returvärde

Returnerar ett booleskt värde.

  • true — Knappen trycks ned.

  • false — Knappen trycks inte ned.

Exempel

// Turn right while L1 is pressed
while (true) {
  if (Controller.ButtonL1.pressing()) {
    Drivetrain.turn(right);
  }
  else {
    Drivetrain.stop();
  }

  wait(20, msec);
}

Återuppringningar#

nedtryckt#

pressed registrerar en funktion som körs när knappen trycks ner.

Tillgänglig funktion

void pressed(void (* callback)(void)) const;

Parameter

Typ

Beskrivning

callback

void (*)(void)

En funktion som körs när knappen trycks ner.

Returvärde

Den här funktionen returnerar inget värde.

Exempel

Definiera callback-funktionen utanför main.

// Drive forward when A is pressed
void driveForward() {
  Drivetrain.driveFor(forward, 100, mm);
}

Registrera återuppringningen inuti main.

int main() {
  vexcodeInit();

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

släppt#

released registrerar en funktion som körs när knappen släpps.

Tillgänglig funktion

void released(void (* callback)(void)) const;

Parameter

Typ

Beskrivning

callback

void (*)(void)

En funktion som körs när knappen släpps.

Returvärde

Den här funktionen returnerar inget värde.

Exempel

Definiera callback-funktionen utanför main.

// Stop the drivetrain when A is released
void stopDriving() {
  Drivetrain.stop();
}

Registrera återuppringningen inuti main.

int main() {
  vexcodeInit();

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