Botón#
Introducción#
La clase button es una clase derivada de la clase controller. Proporciona acceso a los estados de los botones del controlador y a las devoluciones de llamada de los eventos de los botones.
Se accede a un objeto button a través de un objeto controller No se construye directamente.

Acceso#
La clase controller proporciona los siguientes objetos de botón. Cada objeto es una instancia de la clase button.
Objeto |
Ejemplo de uso |
Descripción |
|---|---|---|
|
|
El botón A. |
|
|
El botón B. |
|
|
El botón X. |
|
|
El botón Y. |
|
|
El botón Abajo. |
|
|
El botón Arriba. |
|
|
El botón izquierdo. |
|
|
El botón derecho. |
|
|
El botón L1. |
|
|
El botón L2. |
|
|
El botón R1. |
|
|
El botón R2. |
Observaciones#
Antes de usar una función miembro del botón
button, cree un objeto controladorcontroller.
// Create a Controller object
controller Controller = controller();
Funciones de los miembros#
La clase button incluye las siguientes funciones miembro:
Getter — Estado del botón de lectura.
pressing— Devuelve si se está presionando el botón.
Devoluciones de llamada: ejecuta funciones cuando ocurren eventos de botón.
Getter#
presionando#
pressing devuelve si el botón se está presionando actualmente.
Función disponible
bool pressing() const;
Parámetros
Esta función no tiene parámetros.
Valor de devolución
Devuelve un valor booleano.
true— Se está presionando el botón.false— No se presiona el botón.
Ejemplo
// Turn right while L1 is pressed
while (true) {
if (Controller.ButtonL1.pressing()) {
Drivetrain.turn(right);
}
else {
Drivetrain.stop();
}
wait(20, msec);
}
Devoluciones de llamada#
presionado#
pressed registra una función que se ejecuta cuando se presiona el botón.
Función disponible
void pressed(void (* callback)(void)) const;
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Una función que se ejecuta cuando se presiona el botón. |
Valor de devolución
Esta función no devuelve un valor.
Ejemplo
Defina la función de devolución de llamada fuera de main.
// Drive forward when A is pressed
void driveForward() {
Drivetrain.driveFor(forward, 100, mm);
}
Registre la devolución de llamada dentro de main.
int main() {
vexcodeInit();
// Run driveForward when A is pressed
Controller.ButtonA.pressed(driveForward);
}
liberado#
released registra una función que se ejecuta cuando se suelta el botón.
Función disponible
void released(void (* callback)(void)) const;
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Función que se ejecuta cuando se suelta el botón. |
Valor de devolución
Esta función no devuelve un valor.
Ejemplo
Defina la función de devolución de llamada fuera de main.
// Stop the drivetrain when A is released
void stopDriving() {
Drivetrain.stop();
}
Registre la devolución de llamada dentro de main.
int main() {
vexcodeInit();
// Run stopDriving when A is released
Controller.ButtonA.released(stopDriving);
}