Bouton#
Introduction#
La classe button est une classe dérivée de la classe controller. Elle permet d’accéder aux états des boutons du contrôleur et aux rappels d’événements des boutons.
L’objet bouton button est accessible via un objet contrôleur controller Il n’est pas construit directement.

Accéder#
La classe controller fournit les objets bouton suivants. Chaque objet est une instance de la classe button.
Objet |
Exemple d’utilisation |
Description |
|---|---|---|
|
|
Le bouton E ▼. |
|
|
Le bouton E ▲. |
|
|
Le bouton F ▼. |
|
|
Le bouton F ▲. |
|
|
Bouton joystick gauche. Manette IQ (2e génération) uniquement. |
|
|
Le bouton L ▼. |
|
|
Le bouton L ▲. |
|
|
Bouton du joystick droit. Manette IQ (2e génération) uniquement. |
|
|
Le bouton R ▼. |
|
|
Le bouton R ▲. |
Notes#
Avant d’utiliser une fonction membre
button, créez un objetcontroller.Les boutons
ButtonL3etButtonR3ne sont disponibles que sur la manette IQ (2e génération).
// Create a controller object
controller Controller = controller();
Fonctions des membres#
La classe du bouton button comprend les fonctions membres suivantes :
Getter — État du bouton Lire.
pressing— Renvoie si le bouton est enfoncé.
Rappels — Exécuter des fonctions lors d’événements de bouton.
Getter#
pressing#
Appuyer sur pressing permet de savoir si le bouton est actuellement enfoncé.
Fonction disponible
bool pressing() const;
Paramètres
Cette fonction ne possède pas de paramètres.
Valeur de retour
Renvoie une valeur booléenne.
true— Le bouton est enfoncé.false— Le bouton n’est pas enfoncé.
Exemple
// Turn right while R Up is pressed
while (true) {
if (Controller.ButtonRUp.pressing()) {
Drivetrain.turn(right);
}
else {
Drivetrain.stop();
}
wait(20, msec);
}
Rappels#
pressed#
La touche pressed enregistrent une fonction qui s’exécute lorsque le bouton est enfoncé.
Fonction disponible
void pressed(void (* callback)(void)) const;
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Une fonction qui s’exécute lorsque l’on appuie sur le bouton. |
Valeur de retour
Cette fonction ne renvoie aucune valeur.
Exemple
Définissez la fonction de rappel en dehors de main.
// Drive forward when F Up is pressed
void driveForward() {
Drivetrain.driveFor(forward, 100, mm);
}
Enregistrez le rappel dans main.
int main() {
vexcodeInit();
// Run driveForward when F Up is pressed
Controller.ButtonFUp.pressed(driveForward);
}
released#
released enregistre une fonction qui s’exécute lorsque le bouton est relâché.
Fonction disponible
void released(void (* callback)(void)) const;
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Une fonction qui s’exécute lorsque le bouton est relâché. |
Valeur de retour
Cette fonction ne renvoie aucune valeur.
Exemple
Définissez la fonction de rappel en dehors de main.
// Stop the drivetrain when F Up is released
void stopDriving() {
Drivetrain.stop();
}
Enregistrez le rappel dans main.
int main() {
vexcodeInit();
// Run stopDriving when F Up is released
Controller.ButtonFUp.released(stopDriving);
}