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 E ▼. |
|
|
O botão E ▲. |
|
|
O botão F ▼. |
|
|
O botão F ▲. |
|
|
O botão Joystick Esquerdo. Apenas para o controlo IQ (2ª geração). |
|
|
O botão L ▼. |
|
|
O botão L ▲. |
|
|
Botão do joystick direito. Exclusivo para o controlo IQ (2ª geração). |
|
|
O botão R ▼. |
|
|
O botão R ▲. |
Notas#
Antes de utilizar uma função membro do botão
button, crie um objeto controladorcontroller.Os botões
ButtonL3eButtonR3apenas estão disponíveis no controlador IQ (2ª geração).
// 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 R Up is pressed
while (true) {
if (Controller.ButtonRUp.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 F Up is pressed
void driveForward() {
Drivetrain.driveFor(forward, 100, mm);
}
Registe o retorno de chamada dentro de main.
int main() {
vexcodeInit();
// Run driveForward when F Up is pressed
Controller.ButtonFUp.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 F Up is released
void stopDriving() {
Drivetrain.stop();
}
Registe o retorno de chamada dentro de main.
int main() {
vexcodeInit();
// Run stopDriving when F Up is released
Controller.ButtonFUp.released(stopDriving);
}