Eixo#
Introdução#
A classe axis é uma classe derivada da classe controller. Fornece acesso aos valores do eixo do joystick do controlador e aos callbacks de mudança do eixo do joystick.
Um objeto com o eixo axis é acedido através de um objeto com o controlador controller Não é construído diretamente.

Acesso#
A classe do controlador controller fornece os seguintes objetos de eixo. Cada objeto é uma instância da classe do eixo axis.
Objeto de eixo |
Exemplo de utilização |
Descrição |
|---|---|---|
|
|
Joystick direito no eixo horizontal. |
|
|
Joystick direito no eixo vertical. |
|
|
Eixo vertical do joystick esquerdo. |
|
|
Joystick esquerdo no eixo horizontal. |
Notas#
Antes de utilizar uma função membro de eixo
axis, crie um objeto controladorcontroller.positionreturns a value from-100to100.
// Create a controller object
controller Controller = controller();
Funções de membro#
A classe axis inclui as seguintes funções membro:
Getter — Lê a posição do eixo do joystick.
position— Retorna a posição do eixo do joystick.
Callback — Executa uma função quando a posição do joystick muda ao longo de um eixo.
changed— Executa uma função quando a posição do joystick muda ao longo desse eixo.
Getter#
position#
A posição position joystick como um valor de -100 a 100.
Função disponível
int32_t position(percentUnits units = percentUnits::pct) const;
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
|
Opcional. A unidade utilizada para o valor do eixo devolvido. O predefinido é |
Valor de Retorno
Devolve um valor int32_t de -100 a 100.
100— O eixo do joystick está totalmente movido no sentido positivo.0— O eixo do joystick está centrado.-100— O eixo do joystick está totalmente movido no sentido negativo.
Exemplo
// 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);
}
Ligar de volta#
changed#
changed executa uma função quando a posição do joystick muda ao longo desse eixo.
Função disponível
void changed(void (* callback)(void)) const;
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
|
Uma função a ser executada sempre que a posição do joystick mudar ao longo desse eixo. |
Valor de Retorno
Esta função não devolve qualquer valor.
Exemplo
Defina a função de retorno de chamada fora de main.
// Play a sound when the left joystick moves
void playSound() {
Brain.playSound(siren);
}
Registe o retorno de chamada dentro de main.
int main() {
vexcodeInit();
// Run playSound when the joystick's position changes along Axis4
Controller.Axis4.changed(playSound);
}