Knop#
Invoering#
De klasse button is een afgeleide klasse van de klasse controller. Deze biedt toegang tot de status van de controllerknoppen en de callbacks voor knopgebeurtenissen.
Een object button knoppen wordt benaderd via een object met controller . Het wordt niet direct geconstrueerd.

Toegang#
De klasse controller biedt de volgende knopobjecten. Elk object is een instantie van de klasse button.
Voorwerp |
Voorbeeldgebruik |
Beschrijving |
|---|---|---|
|
|
De A-knop. |
|
|
De B-knop. |
|
|
De X-knop. |
|
|
De Y-knop. |
|
|
De Omlaag-knop. |
|
|
De Omhoog-knop. |
|
|
De linker knop. |
|
|
De rechter knop. |
|
|
De L1-knop. |
|
|
De L2-knop. |
|
|
De R1-knop. |
|
|
De R2-knop. |
Notities#
Voordat je een
buttonlidfunctie gebruikt, maak je eencontrollerobject aan.
// Create a Controller object
controller Controller = controller();
Lidfuncties#
De klasse button bevat de volgende lidfuncties:
Getter — Lees de status van de knop.
pressing— Geeft aan of de knop wordt ingedrukt.
Callbacks — Voer functies uit wanneer er op knoppen wordt gedrukt.
Getter#
drukken#
Door op pressing wordt gecontroleerd of de knop momenteel is ingedrukt.
Beschikbare functie
bool pressing() const;
Parameters
Deze functie heeft geen parameters.
Retourwaarde
Retourneert een Booleaanse waarde.
true— De knop wordt ingedrukt.false— De knop wordt niet ingedrukt.
Voorbeeld
// Turn right while L1 is pressed
while (true) {
if (Controller.ButtonL1.pressing()) {
Drivetrain.turn(right);
}
else {
Drivetrain.stop();
}
wait(20, msec);
}
Terugbelverzoeken#
geperst#
pressed registreert een functie die wordt uitgevoerd wanneer de knop wordt ingedrukt.
Beschikbare functie
void pressed(void (* callback)(void)) const;
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Een functie die wordt uitgevoerd wanneer de knop wordt ingedrukt. |
Retourwaarde
Deze functie retourneert geen waarde.
Voorbeeld
Definieer de callbackfunctie buiten main.
// Drive forward when A is pressed
void driveForward() {
Drivetrain.driveFor(forward, 100, mm);
}
Registreer de callback in main.
int main() {
vexcodeInit();
// Run driveForward when A is pressed
Controller.ButtonA.pressed(driveForward);
}
uitgegeven#
released registreert een functie die wordt uitgevoerd wanneer de knop wordt losgelaten.
Beschikbare functie
void released(void (* callback)(void)) const;
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Een functie die wordt uitgevoerd wanneer de knop wordt losgelaten. |
Retourwaarde
Deze functie retourneert geen waarde.
Voorbeeld
Definieer de callbackfunctie buiten main.
// Stop the drivetrain when A is released
void stopDriving() {
Drivetrain.stop();
}
Registreer de callback in main.
int main() {
vexcodeInit();
// Run stopDriving when A is released
Controller.ButtonA.released(stopDriving);
}