Axe#
Introduction#
La classe axis est une classe dérivée de la classe controller. Elle fournit un accès aux valeurs des axes du joystick du contrôleur et aux rappels de changement d’axe du joystick.
Un objet d’axe axis est accessible via un objet de contrôleur controller . Il n’est pas construit directement.

Accéder#
La classe controller fournit les objets d’axe suivants. Chaque objet est une instance de la classe axis.
Objet d’axe |
Exemple d’utilisation |
Description |
|---|---|---|
|
|
Axe horizontal du joystick droit. |
|
|
Axe vertical du joystick droit. |
|
|
Axe vertical du joystick gauche. |
|
|
Axe horizontal du joystick gauche. |
Notes#
Avant d’utiliser une fonction membre de l’axe
axis, créez un objet contrôleurcontroller.La position
positionrenvoie une valeur de-100à100.
// Create a controller object
controller Controller = controller();
Fonctions des membres#
La classe axis comprend les fonctions membres suivantes :
Getter — Lire la position de l’axe du joystick.
position— Renvoie la position de l’axe du joystick.
Rappel — Exécuter une fonction lorsque la position du joystick change le long d’un axe.
changed— Exécute une fonction lorsque la position du joystick change le long de cet axe.
Getter#
position#
La position position renvoie la position de l’axe du joystick sous forme de valeur comprise entre -100 et 100.
Fonction disponible
int32_t position(percentUnits units = percentUnits::pct) const;
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Facultatif. L’unité utilisée pour la valeur de l’axe renvoyée. La valeur par défaut est |
Valeur de retour
Renvoie une valeur int32_t de -100 à 100.
100— L’axe du joystick est complètement déplacé dans la direction positive.0— L’axe du joystick est centré.-100— L’axe du joystick est complètement déplacé dans la direction négative.
Exemple
// Turn with the left joystick
while (true) {
if (Controller.Axis4.position() > 10) {
Drivetrain.turn(right);
}
else if (Controller.Axis4.position() < -10) {
Drivetrain.turn(left);
}
else {
Drivetrain.stop();
}
wait(20, msec);
}
Rappel#
changed#
changed exécute une fonction lorsque la position du joystick change le long de cet axe.
Fonction disponible
void changed(void (* callback)(void)) const;
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Une fonction à exécuter à chaque changement de position du joystick le long de cet axe. |
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Une fonction de rappel prédéfinie, appelée automatiquement lorsque la valeur de l’axe change. Cette fonction doit respecter la signature de rappel requise. Consultez la section Fonctions de rappel pour plus d’informations. |
Cette fonction ne renvoie aucune valeur.
Exemple
Définissez la fonction de rappel en dehors de main.
Définissez la fonction de rappel (en dehors de
int main())// Play a sound when the left joystick moves void sounds() { Brain.playSound(siren); wait(1, seconds); }Enregistrez le rappel à l’intérieur de
int main()int main() { /* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ vexcodeInit(); // Call the function when the left joystick moves Controller.Axis4.changed(sounds); }