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. |
Valeur de retour
Cette fonction ne renvoie aucune valeur.
Exemple
Définissez la fonction de rappel en dehors de main.
// Play a sound when the left joystick moves
void playSound() {
Brain.playSound(siren);
}
Enregistrez le rappel dans main.
int main() {
vexcodeInit();
// Run playSound when the joystick's position changes along Axis4
Controller.Axis4.changed(playSound);
}