Botão#
Introdução#
A classe button é uma classe derivada da classe controller. Fornece acesso aos estados do botão do controlador e aos retornos de chamada de eventos do botão.
Um objeto do tipo botão button é acedido através de um objeto do tipo controlador controller . Não é construído diretamente.

Acesso#
The controller class provides the following button objects. Each object is an instance of the button class.
Objeto |
Exemplo de utilização |
Descrição |
|---|---|---|
|
|
O botão A. |
|
|
O botão B. |
|
|
O botão para baixo. |
|
|
O botão para cima. |
|
|
O botão L1. |
|
|
O botão L2. |
|
|
O botão L3. |
|
|
O botão R1. |
|
|
O botão R2. |
|
|
O botão R3. |
Notas#
Antes de utilizar uma função membro do botão
button, crie um objeto controladorcontroller.
// Create a controller object
controller Controller = controller();
Funções de membro#
A classe do botão button inclui as seguintes funções membro:
Getter — Lê o estado do botão.
pressing— Retorna se o botão está a ser premido.
Callbacks — Executam funções quando ocorrem eventos de botões.
Getter#
pressing#
pressing returns whether the button is currently being pressed.
Função disponível
bool pressing() const;
Parâmetros
Esta função não tem parâmetros.
Valor de Retorno
Retorna um valor booleano.
true— O botão está a ser premido.false— O botão não está a ser premido.
Exemplo
// Turn right while L1 is pressed
while (true) {
if (Controller.ButtonL1.pressing()) {
Drivetrain.turn(right);
}
else {
Drivetrain.stop();
}
wait(20, msec);
}
Retornos de chamada#
pressed#
pressed regista uma função que é executada quando o botão é premido.
Função disponível
void pressed(void (* callback)(void)) const;
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
|
Uma função que é executada quando o botão é pressionado. |
Valor de Retorno
Esta função não devolve qualquer valor.
Exemplo
Defina a função de retorno de chamada fora de main.
// Drive forward when R1 is pressed
void driveForward() {
Drivetrain.driveFor(forward, 200, mm);
}
Registe o retorno de chamada dentro de main.
int main() {
vexcodeInit();
// Run driveForward when R1 is pressed
Controller.ButtonR1.pressed(driveForward);
}
released#
released regista uma função que é executada quando o botão é libertado.
Função disponível
void released(void (* callback)(void)) const;
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
|
Uma função que é executada quando o botão é libertado. |
Valor de Retorno
Esta função não devolve qualquer valor.
Exemplo
Defina a função de retorno de chamada fora de main.
// Stop the drivetrain when R1 is released
void stopDriving() {
Drivetrain.stop();
}
Registe o retorno de chamada dentro de main.
int main() {
vexcodeInit();
// Run stopDriving when R1 is released
Controller.ButtonR1.released(stopDriving);
}