Eje#
Introducción#
The axis class is a derived class of the controller class. It provides access to controller joystick axis values and joystick axis change callbacks.
An axis object is accessed through a controller object. It is not constructed directly.

Acceso#
The controller class provides the following axis objects. Each object is an instance of the axis class.
Objeto Eje |
Ejemplo de uso |
Descripción |
|---|---|---|
|
|
Eje horizontal del joystick derecho. |
|
|
Eje vertical del joystick derecho. |
|
|
Eje vertical del joystick izquierdo. |
|
|
Eje horizontal del joystick izquierdo. |
Notas#
Before using an
axismember function, create acontrollerobject.positionreturns a value from-100to100.
// Create a controller object
controller Controller = controller();
Funciones de los miembros#
The axis class includes the following member functions:
Obtener: Lee la posición del eje del joystick.
position— Returns the position of the joystick axis.
Función de devolución de llamada: ejecuta una función cuando la posición del joystick cambia a lo largo de un eje.
changed— Runs a function when the joystick’s position changes along that axis.
Adquiridor#
position#
position returns the position of the joystick axis as a value from -100 to 100.
Función disponible
int32_t position(percentUnits units = percentUnits::pct) const;
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Optional. The unit used for the returned axis value. The default is |
Valor de retorno
Returns an int32_t value from -100 to 100.
100— The joystick axis is fully moved in the positive direction.0— The joystick axis is centered.-100— The joystick axis is fully moved in the negative direction.
Ejemplo
// 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);
}
Llamar de vuelta#
changed#
changed runs a function when the joystick’s position changes along that axis.
Función disponible
void changed(void (* callback)(void)) const;
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Una función que se ejecutará cada vez que cambie la posición del joystick a lo largo de ese eje. |
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Función de devolución de llamada previamente definida que se ejecuta automáticamente cuando cambia el valor del eje. La función debe coincidir con la firma de devolución de llamada requerida. Consulte Funciones de devolución de llamada para obtener más información. |
Esta función no devuelve ningún valor.
Ejemplo
Define the callback function outside of main.
Define the callback function (outside of
int main())// Play a sound when the left joystick moves void sounds() { Brain.playSound(siren); wait(1, seconds); }Register the callback inside
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); }