Oś#
Wstęp#
Klasa osi axis jest klasą pochodną klasy controller. Zapewnia dostęp do wartości osi joysticka kontrolera i wywołań zwrotnych zmiany osi joysticka.
Do obiektu osi axis można uzyskać dostęp poprzez obiekt kontrolera controller Nie jest on tworzony bezpośrednio.

Dostęp#
Klasa kontrolera controller udostępnia następujące obiekty osi. Każdy obiekt jest instancją klasy osi axis.
Obiekt osi |
Przykładowe użycie |
Opis |
|---|---|---|
|
|
Oś pozioma prawego joysticka. |
|
|
Oś pionowa prawego joysticka. |
|
|
Oś pionowa lewego joysticka. |
|
|
Oś pozioma lewego joysticka. |
Notatki#
Przed użyciem funkcji członkowskiej osi
axisutwórz obiekt kontroleracontroller.Pozycja
positionzwraca wartość od-100do100.
// Create a controller object
controller Controller = controller();
Funkcje członkowskie#
Klasa osi axis zawiera następujące funkcje członkowskie:
Getter — Odczyt położenia osi joysticka.
position— Zwraca pozycję osi joysticka.
Wywołanie zwrotne — uruchomienie funkcji, gdy położenie joysticka zmienia się wzdłuż osi.
changed— Uruchamia funkcję, gdy położenie joysticka zmienia się wzdłuż danej osi.
Rębacz#
position#
Pozycja position zwraca pozycję osi joysticka jako wartość od -100 do 100.
Dostępna funkcja
int32_t position(percentUnits units = percentUnits::pct) const;
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Opcjonalnie. Jednostka używana dla zwróconej wartości osi. Domyślnie jest to |
Wartość zwracana
Zwraca wartość int32_t z zakresu -100 do 100.
100— Oś joysticka jest całkowicie przesunięta w kierunku dodatnim.0— Oś joysticka jest wyśrodkowana.-100— Oś joysticka jest całkowicie przesunięta w kierunku ujemnym.
Przykład
// 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);
}
Oddzwonienie#
changed#
changed uruchamia funkcję, gdy położenie joysticka zmienia się wzdłuż danej osi.
Dostępna funkcja
void changed(void (* callback)(void)) const;
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Funkcja uruchamiana za każdym razem, gdy położenie joysticka zmieni się wzdłuż danej osi. |
Wartość zwracana
Ta funkcja nie zwraca wartości.
Przykład
Zdefiniuj funkcję wywołania zwrotnego poza main.
// Rumble when the left joystick moves
void controllerRumble() {
Controller.rumble(".");
}
Zarejestruj wywołanie zwrotne wewnątrz main.
int main() {
vexcodeInit();
// Run controllerRumble when the joystick's position changes along Axis4
Controller.Axis4.changed(controllerRumble);
}