Achse#
Einführung#
Die Klasse axis ist eine abgeleitete Klasse der Klasse controller. Sie ermöglicht den Zugriff auf die Joystick-Achsenwerte des Controllers und die Rückruffunktionen für Joystick-Achsenänderungen.
Ein Objekt mit der Achse axis wird über ein Objekt mit dem Controller controller angesprochen. Es wird nicht direkt erstellt.

Zugang#
The controller class provides the following axis objects. Each object is an instance of the axis class.
Achsenobjekt |
Anwendungsbeispiel |
Beschreibung |
|---|---|---|
|
|
Rechter Joystick, horizontale Achse. |
|
|
Rechter Joystick, vertikale Achse. |
|
|
Linker Joystick, vertikale Achse. |
|
|
Linker Joystick, horizontale Achse. |
Anmerkungen#
Bevor Sie eine Memberfunktion der Achse
axiscontrollerpositiongibt einen Wert von-100bis100zurück.
// Create a Controller object
controller Controller = controller();
Mitgliedsfunktionen#
Die Klasse axis umfasst die folgenden Memberfunktionen:
Getter – Joystick-Achsenposition auslesen.
position— Gibt die Position der Joystick-Achse zurück.
Callback – Führt eine Funktion aus, wenn sich die Position des Joysticks entlang einer Achse ändert.
changed— Führt eine Funktion aus, wenn sich die Position des Joysticks entlang dieser Achse ändert.
Getter#
Position#
position gibt die Position der Joystick-Achse als Wert von -100 bis 100 zurück.
Verfügbare Funktionen
int32_t position(percentUnits units = percentUnits::pct) const;
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Optional. Die Einheit, die für den zurückgegebenen Achsenwert verwendet wird. Der Standardwert ist |
Rückgabewert
Gibt einen int32_t Wert von -100 bis 100 zurück.
100— Die Joystick-Achse ist vollständig in positive Richtung bewegt.0— Die Joystick-Achse ist zentriert.-100— Die Joystick-Achse ist vollständig in negative Richtung bewegt.
Beispiel
// 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);
}
Rückruf#
geändert#
changed führt eine Funktion aus, wenn sich die Position des Joysticks entlang dieser Achse ändert.
Verfügbare Funktionen
void changed(void (* callback)(void)) const;
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Eine Funktion, die jedes Mal ausgeführt wird, wenn sich die Position des Joysticks entlang dieser Achse ändert. |
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Beispiel
Definiere die Callback-Funktion außerhalb von main.
// Rumble when the left joystick moves
void controllerRumble() {
Controller.rumble(".");
}
Registriere den Callback innerhalb von main.
int main() {
vexcodeInit();
// Run controllerRumble when the joystick's position changes along Axis4
Controller.Axis4.changed(controllerRumble);
}