Eje#
Introducción#
La clase axis es una clase derivada de la clase controller. Proporciona acceso a los valores del eje del joystick del controlador y a las devoluciones de llamada de cambio del eje 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 controller proporciona los siguientes objetos de eje. Cada objeto es una instancia de la clase 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.positiondevuelve un valor de-100a100.
// 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#
cargo#
la position devuelve la posición del eje del 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 |
Valor de devolución
Devuelve un valor int32_t de -100 a 100.
100— El eje del joystick se mueve 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#
cambió#
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. |
Valor de devolución
Esta función no devuelve un valor.
Ejemplo
Defina la función de devolución de llamada fuera de main.
// Rumble when the left joystick moves
void controllerRumble() {
Controller.rumble(".");
}
Registre la devolución de llamada dentro de main.
int main() {
vexcodeInit();
// Run controllerRumble when the joystick's position changes along Axis4
Controller.Axis4.changed(controllerRumble);
}