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. |
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Wcześniej zdefiniowana funkcja wywołania zwrotnego, która jest wywoływana automatycznie po zmianie wartości osi. Funkcja musi być zgodna z wymaganym podpisem wywołania zwrotnego. Więcej informacji można znaleźć w sekcji Funkcje wywołania zwrotnego. |
Ta funkcja nie zwraca wartości.
Przykład
Zdefiniuj funkcję wywołania zwrotnego poza main.
Zdefiniuj funkcję wywołania zwrotnego (poza
int main())// Play a sound when the left joystick moves void sounds() { Brain.playSound(siren); wait(1, seconds); }Zarejestruj wywołanie zwrotne wewnątrz
int main()int main() { /* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ vexcodeInit(); // Call the function when the left joystick moves Controller.Axis4.changed(sounds); }