As#
Invoering#
De klasse axis is een afgeleide klasse van de klasse controller. Deze biedt toegang tot de waarden van de joystick-assen van de controller en callbacks voor wijzigingen in de joystick-assen.
Een object met as axis wordt benaderd via een object met controller controller Het wordt niet direct geconstrueerd.

Toegang#
De klasse controller biedt de volgende asobjecten. Elk object is een instantie van de klasse axis.
Asobject |
Voorbeeldgebruik |
Beschrijving |
|---|---|---|
|
|
Rechter joystick horizontale as. |
|
|
Rechter joystick verticale as. |
|
|
Linker joystick verticale as. |
|
|
Linker joystick horizontale as. |
Notities#
Voordat u een
axislidfunctie gebruikt, moet u eencontrollerobject maken.positionretourneert een waarde van-100tot100.
// Create a controller object
controller Controller = controller();
Lidfuncties#
De klasse axis omvat de volgende lidfuncties:
Getter — Lees de positie van de joystick-as.
position— Geeft de positie van de joystick-as terug.
Callback — Voer een functie uit wanneer de positie van de joystick langs een as verandert.
changed— Voert een functie uit wanneer de positie van de joystick langs die as verandert.
Getter#
position#
position geeft de positie van de joystick-as terug als een waarde van -100 tot 100.
Beschikbare functie
int32_t position(percentUnits units = percentUnits::pct) const;
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Optioneel. De eenheid die wordt gebruikt voor de geretourneerde aswaarde. De standaardwaarde is |
Retourwaarde
Retourneert een int32_t waarde van -100 tot 100.
100— De joystick-as is volledig in de positieve richting bewogen.0— De joystick-as is gecentreerd.-100— De joystick-as is volledig in de negatieve richting bewogen.
Voorbeeld
// 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);
}
Terugbelverzoek#
changed#
changed voert een functie uit wanneer de positie van de joystick langs die as verandert.
Beschikbare functie
void changed(void (* callback)(void)) const;
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Een functie die wordt uitgevoerd telkens wanneer de positie van de joystick langs die as verandert. |
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Een eerder gedefinieerde callbackfunctie die automatisch wordt aangeroepen wanneer de aswaarde verandert. De functie moet overeenkomen met de vereiste callbacksignatuur. Zie Callbackfuncties voor meer informatie. |
Deze functie retourneert geen waarde.
Voorbeeld
Definieer de callbackfunctie buiten main.
Definieer de callbackfunctie (buiten
int main())// Play a sound when the left joystick moves void sounds() { Brain.playSound(siren); wait(1, seconds); }Registreer de callback binnen
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); }