Axel#
Introduktion#
Klassen axis är en härledd klass av klassen controller. Den ger åtkomst till joystickaxelvärden för controller och återanrop för joystickaxeländringar.
Ett axis nås via ett controller Det konstrueras inte direkt.

Tillträde#
Klassen controller tillhandahåller följande axelobjekt. Varje objekt är en instans av klassen axis.
Axelobjekt |
Exempel på användning |
Beskrivning |
|---|---|---|
|
|
Höger joystick horisontell axel. |
|
|
Höger joystick vertikal axel. |
|
|
Vänster joystick vertikal axel. |
|
|
Vänster joystick horisontell axel. |
Anteckningar#
Innan du använder en
axismedlemsfunktion, skapa ettcontrollerobjekt.positionreturnerar ett värde från-100till100.
// Create a Controller object
controller Controller = controller();
Medlemsfunktioner#
Klassen axis innehåller följande medlemsfunktioner:
Getter — Läs joystickaxelns position.
position— Returnerar joystickaxelns position.
Återanrop — Kör en funktion när joystickens position ändras längs en axel.
changed— Kör en funktion när joystickens position ändras längs den axeln.
Getter#
placera#
position returnerar joystickaxelns position som ett värde från -100 till 100.
Tillgänglig funktion
int32_t position(percentUnits units = percentUnits::pct) const;
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Valfritt. Enheten som används för det returnerade axelvärdet. Standardvärdet är |
Returvärde
Returnerar ett int32_t värde från -100 till 100.
100— Joystickaxeln är helt i positiv riktning.0— Joystickaxeln är centrerad.-100— Joystickaxeln är helt förflyttad i negativ riktning.
Exempel
// 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);
}
Återuppringning#
ändrad#
changed kör en funktion när joystickens position ändras längs den axeln.
Tillgänglig funktion
void changed(void (* callback)(void)) const;
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En funktion som körs varje gång joystickens position ändras längs den axeln. |
Returvärde
Den här funktionen returnerar inget värde.
Exempel
Definiera callback-funktionen utanför main.
// Rumble when the left joystick moves
void controllerRumble() {
Controller.rumble(".");
}
Registrera återuppringningen inuti main.
int main() {
vexcodeInit();
// Run controllerRumble when the joystick's position changes along Axis4
Controller.Axis4.changed(controllerRumble);
}