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 * ▼*E * *. |
|
|
El botón * ▲*E * *. |
|
|
El botón * ▼*F * *. |
|
|
El botón * ▲*F * *. |
|
|
El botón Palanca de mando izquierda. Solo controlador IQ (2da generación). |
|
|
El botón * ▼*L * *. |
|
|
El botón * ▲*L * *. |
|
|
El botón Palanca de mando derecha. Solo controlador IQ (2da generación). |
|
|
El botón * ▼*R * *. |
|
|
El botón * ▲*R * *. |
Observaciones#
Antes de usar una función miembro del botón
button, cree un objeto controladorcontroller.ButtonL3yButtonR3están disponibles en el controlador IQ (segunda generación).
// 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#
pressing#
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 R Up is pressed
while (true) {
if (Controller.ButtonRUp.pressing()) {
Drivetrain.turn(right);
}
else {
Drivetrain.stop();
}
wait(20, msec);
}
Devoluciones de llamada#
pressed#
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 F Up is pressed
void driveForward() {
Drivetrain.driveFor(forward, 100, mm);
}
Registre la devolución de llamada dentro de main.
int main() {
vexcodeInit();
// Run driveForward when F Up is pressed
Controller.ButtonFUp.pressed(driveForward);
}
released#
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 F Up is released
void stopDriving() {
Drivetrain.stop();
}
Registre la devolución de llamada dentro de main.
int main() {
vexcodeInit();
// Run stopDriving when F Up is released
Controller.ButtonFUp.released(stopDriving);
}