Eje#
Introducción#
La clase axis es una clase derivada de la clase controller. Proporciona acceso a los valores de los ejes del joystick del controlador y a las funciones de devolución de llamada para el cambio de ejes del joystick.
Se accede a un objeto del eje axis a través de un objeto del controlador controller No se construye directamente.

Acceso#
La clase controlador controller proporciona los siguientes objetos de eje. Cada objeto es una instancia de la clase eje axis.
Objeto del 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. |
Observaciones#
Antes de usar una función miembro del eje
axis, cree un objeto controladorcontroller.positionreturns a value from-100to100.
// Create a controller object
controller Controller = controller();
Funciones de los miembros#
La clase axis incluye las siguientes funciones miembro:
Getter — Leer la posición del eje del joystick.
position— Devuelve la posición del eje del joystick.
Devolución de llamada: ejecuta una función cuando la posición del joystick cambia a lo largo de un eje.
changed— Ejecuta una función cuando la posición del joystick cambia a lo largo de ese eje.
Getter#
position#
La posición position joystick como un valor de -100 a 100.
Función disponible
int32_t position(percentUnits units = percentUnits::pct) const;
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Opcional. La unidad utilizada para el valor del eje devuelto. El valor predeterminado es |
Valor de devolución
Devuelve un valor int32_t de -100 a 100.
100— El eje del joystick se ha movido completamente en la dirección positiva.0— El eje del joystick está centrado.-100— El eje del joystick se mueve completamente en la dirección negativa.
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);
}
Devolución de llamada#
changed#
changed ejecuta una función cuando la posición del joystick cambia a lo largo de ese eje.
Función disponible
void changed(void (* callback)(void)) const;
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Una función que se ejecuta cada vez que la posición del joystick cambia a lo largo de ese eje. |
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Una función de devolución de llamada previamente definida que se llama 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 un valor.
Ejemplo
Defina la función de devolución de llamada fuera de main.
Defina la función de devolución de llamada (fuera de
int main())// Play a sound when the left joystick moves void sounds() { Brain.playSound(siren); wait(1, seconds); }Registra la función de devolución de llamada dentro 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); }