Akseli#
Johdanto#
axis -luokka on controller -luokan johdannainen luokka. Se tarjoaa pääsyn ohjaimen joystick-akselin arvoihin ja joystick-akselin muutoskutsuihin.
axis objektiin päästään käsiksi controller -objektin kautta. Sitä ei konstruoida suoraan.

Pääsy#
controller -luokka tarjoaa seuraavat akseliobjektit. Jokainen objekti on axis -luokan instanssi.
Akseliobjekti |
Esimerkki käytöstä |
Kuvaus |
|---|---|---|
|
|
Oikean joystickin vaakasuora akseli. |
|
|
Oikean joystickin pystyakseli. |
|
|
Vasen joystickin pystyakseli. |
|
|
Vasen joystick-sauvan vaakasuora akseli. |
Muistiinpanoja#
Ennen
axisjäsenfunktion käyttöä luocontroller-objekti.positionpalauttaa arvon väliltä-100ja100.
// Create a controller object
controller Controller = controller();
Jäsenten toiminnot#
axis luokka sisältää seuraavat jäsenfunktiot:
Getter — Lue joystickin akselin asento.
position— Palauttaa joystickin akselin asennon.
Takaisinkutsu — Suorita funktio, kun joystickin asento muuttuu akselin suuntaisesti.
changed— Suorittaa funktion, kun joystickin asento muuttuu kyseisellä akselilla.
Getter#
position#
position palauttaa joystick-akselin asennon arvona väliltä -100 - 100.
Käytettävissä oleva toiminto
int32_t position(percentUnits units = percentUnits::pct) const;
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Valinnainen. Palautetun akselin arvon yksikkö. Oletusarvo on |
Palautusarvo
Palauttaa int32_t -arvon väliltä -100 - 100.
100— Ohjaussauvan akseli on täysin siirtynyt positiiviseen suuntaan.0— Ohjaussauvan akseli on keskitetty.-100— Ohjaussauvan akseli on täysin siirtynyt negatiiviseen suuntaan.
Esimerkki
// 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);
}
Takaisinsoitto#
changed#
changed suorittaa funktion, kun joystickin asento muuttuu kyseisellä akselilla.
Käytettävissä oleva toiminto
void changed(void (* callback)(void)) const;
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Funktio, joka suoritetaan aina, kun joystickin asento muuttuu kyseisellä akselilla. |
Palautusarvo
Tämä funktio ei palauta arvoa.
Esimerkki
Määrittele takaisinkutsufunktio main n ulkopuolella.
// Play a sound when the left joystick moves
void playSound() {
Brain.playSound(siren);
}
Rekisteröi takaisinkutsu main -muuttujaan.
int main() {
vexcodeInit();
// Run playSound when the joystick's position changes along Axis4
Controller.Axis4.changed(playSound);
}