Αξονας#
Εισαγωγή#
Η κλάση axis είναι μια παράγωγη κλάση της κλάσης controller. Παρέχει πρόσβαση στις τιμές του άξονα του joystick του ελεγκτή και στις επανακλήσεις αλλαγής του άξονα του joystick.
Ένα αντικείμενο άξονα είναι προσβάσιμο μέσω ενός αντικειμένου ελεγκτή Δεν κατασκευάζεται απευθείας.

Πρόσβαση#
Η κλάση ελεγκτή παρέχει τα ακόλουθα αντικείμενα άξονα. Κάθε αντικείμενο είναι μια παρουσία της κλάσης αξόνων.
Αντικείμενο άξονα
Παράδειγμα Χρήσης
Περιγραφή
Axis1
Controller.Axis1.position()
Οριζόντιος άξονας δεξιού joystick.
Axis2
Controller.Axis2.position()
Κάθετος άξονας δεξιού joystick.
Axis3
Controller.Axis3.position()
Αριστερό κάθετο άξονα joystick.
Axis4
Controller.Axis4.position()
Οριζόντιος άξονας αριστερού joystick.
Σημειώσεις#
Πριν χρησιμοποιήσετε μια συνάρτηση μέλους άξονα , δημιουργήστε ένα αντικείμενο ελεγκτής.
Η θέση επιστρέφει μια τιμή από -100 έως 100.
// Create a controller object
controller Controller = controller();
Συναρτήσεις Μελών#
Η κλάση άξονα περιλαμβάνει τις ακόλουθες συναρτήσεις-μέλη:
Getter — Ανάγνωση της θέσης του άξονα του joystick.
θέση — Επιστρέφει τη θέση του άξονα του joystick.
Επανάκληση — Εκτέλεση συνάρτησης όταν αλλάζει η θέση του joystick κατά μήκος ενός άξονα.
άλλαξε — Εκτελεί μια συνάρτηση όταν η θέση του joystick αλλάζει κατά μήκος αυτού του άξονα.
Λήπτης#
position#
Η θέση επιστρέφει τη θέση του άξονα του joystick ως τιμή από -100 έως 100.
Διαθέσιμη λειτουργία
int32_t position(percentUnits units = percentUnits::pct) const;
Παράμετρος
Τύπος
Περιγραφή
units
percentUnits
Προαιρετικό. Η μονάδα που χρησιμοποιείται για την επιστρεφόμενη τιμή άξονα. Η προεπιλογή είναι percentUnits::pct.
Επιστρεφόμενη τιμή
Επιστρέφει μια τιμή int32_t από -100 έως 100.
100 — Ο άξονας του joystick έχει μετακινηθεί πλήρως προς τη θετική κατεύθυνση.
0 — Ο άξονας του joystick είναι κεντραρισμένος.
-100 — Ο άξονας του joystick έχει μετακινηθεί πλήρως προς την αρνητική κατεύθυνση.
Παράδειγμα
// 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);
}
Επανάκληση#
changed#
άλλαξε. εκτελεί μια συνάρτηση όταν η θέση του joystick αλλάζει κατά μήκος αυτού του άξονα.
Διαθέσιμη λειτουργία
void changed(void (* callback)(void)) const;
Παράμετρος
Τύπος
Περιγραφή
callback
void (*)(void)
Μια συνάρτηση που εκτελείται κάθε φορά που αλλάζει η θέση του joystick κατά μήκος αυτού του άξονα.
Παράμετρος
Τύπος
Περιγραφή
callback
void (*)(void)
Μια προηγουμένως καθορισμένη συνάρτηση επανάκλησης που καλείται αυτόματα όταν αλλάζει η τιμή του άξονα. Η συνάρτηση πρέπει να ταιριάζει με την απαιτούμενη υπογραφή επανάκλησης. Ανατρέξτε στην ενότητα Συναρτήσεις επανάκλησης για περισσότερες πληροφορίες.
Return Values
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
Παράδειγμα
Ορίστε τη συνάρτηση επανάκλησης εκτός του main.
Ορίστε τη συνάρτηση επανάκλησης (εκτός από int main())
// Play a sound when the left joystick moves
void sounds() {
Brain.playSound(siren);
wait(1, seconds);
}
Καταχωρίστε την επανάκληση μέσα στο 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);
}