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. |
Retourwaarde
Deze functie retourneert geen waarde.
Voorbeeld
Definieer de callbackfunctie buiten main.
// Play a sound when the left joystick moves
void playSound() {
Brain.playSound(siren);
}
Registreer de callback in main.
int main() {
vexcodeInit();
// Run playSound when the joystick's position changes along Axis4
Controller.Axis4.changed(playSound);
}