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.

Tillträde#
Klassen controller tillhandahåller följande knappobjekt. Varje objekt är en instans av klassen button.
Objekt |
Exempel på användning |
Beskrivning |
|---|---|---|
|
|
A-knappen. |
|
|
B-knappen. |
|
|
X-knappen. |
|
|
Y-knappen. |
|
|
Nedåt--knappen. |
|
|
Upp-knappen. |
|
|
Vänster-knappen. |
|
|
Höger-knappen. |
|
|
L1-knappen. |
|
|
L2-knappen. |
|
|
R1-knappen. |
|
|
R2-knappen. |
Anteckningar#
Innan du använder en
buttonmedlemsfunktion, skapa ettcontroller-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.
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 |
|---|---|---|
|
|
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 |
|---|---|---|
|
|
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);
}