Knapp#
Introduktion#
Klassen button är en härledd klass av klassen controller. Den ger åtkomst till controllerknappstatus och återanrop för knapphändelser.
Ett button nås via ett controller Det är inte konstruerat direkt.

Tillträde#
Klassen controller tillhandahåller följande knappobjekt. Varje objekt är en instans av klassen button.
Objekt |
Exempel på användning |
Beskrivning |
|---|---|---|
|
|
E ▼-knappen. |
|
|
E ▲-knappen. |
|
|
F ▼-knappen. |
|
|
F ▲-knappen. |
|
|
Vänster joystick-knapp. Endast IQ-kontroll (2:a generationen). |
|
|
L ▼-knappen. |
|
|
L ▲-knappen. |
|
|
Höger joystick-knapp. Endast IQ-kontroll (2:a generationen). |
|
|
R ▼-knappen. |
|
|
R ▲-knappen. |
Anteckningar#
Innan du använder en
buttonmedlemsfunktion, skapa ettcontroller-objekt.ButtonL3ochButtonR3är endast tillgängliga på IQ-kontrollen (2:a generationen).
// 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.
Getter#
pressing#
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 R Up is pressed
while (true) {
if (Controller.ButtonRUp.pressing()) {
Drivetrain.turn(right);
}
else {
Drivetrain.stop();
}
wait(20, msec);
}
Återuppringningar#
pressed#
pressed registrerar en funktion som körs när knappen trycks ner.
Tillgänglig funktion
void pressed(void (* callback)(void)) const;
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
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 F Up is pressed
void driveForward() {
Drivetrain.driveFor(forward, 100, mm);
}
Registrera återuppringningen inuti main.
int main() {
vexcodeInit();
// Run driveForward when F Up is pressed
Controller.ButtonFUp.pressed(driveForward);
}
released#
released registrerar en funktion som körs när knappen släpps.
Tillgänglig funktion
void released(void (* callback)(void)) const;
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
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 F Up is released
void stopDriving() {
Drivetrain.stop();
}
Registrera återuppringningen inuti main.
int main() {
vexcodeInit();
// Run stopDriving when F Up is released
Controller.ButtonFUp.released(stopDriving);
}