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

Πρόσβαση#
The controller class provides the following axis objects. Each object is an instance of the axis class.
Αντικείμενο άξονα |
Παράδειγμα Χρήσης |
Περιγραφή |
|---|---|---|
|
|
Οριζόντιος άξονας δεξιού joystick. |
|
|
Κάθετος άξονας δεξιού joystick. |
|
|
Αριστερό κάθετο άξονα joystick. |
|
|
Οριζόντιος άξονας αριστερού joystick. |
Σημειώσεις#
Πριν χρησιμοποιήσετε μια συνάρτηση μέλους
axis, δημιουργήστε ένα αντικείμενοcontroller.Η θέση
positionεπιστρέφει μια τιμή από-100έως100.
// Create a controller object
controller Controller = controller();
Συναρτήσεις Μελών#
Η κλάση axis περιλαμβάνει τις ακόλουθες συναρτήσεις-μέλη:
Getter — Ανάγνωση της θέσης του άξονα του joystick.
position— Επιστρέφει τη θέση του άξονα του joystick.
Επανάκληση — Εκτέλεση συνάρτησης όταν αλλάζει η θέση του joystick κατά μήκος ενός άξονα.
changed— Εκτελεί μια συνάρτηση όταν η θέση του joystick αλλάζει κατά μήκος αυτού του άξονα.
Λήπτης#
position#
Η θέση position επιστρέφει τη θέση του άξονα του joystick ως τιμή από -100 έως 100.
Διαθέσιμη λειτουργία
int32_t position(percentUnits units = percentUnits::pct) const;
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Προαιρετικό. Η μονάδα που χρησιμοποιείται για την επιστρεφόμενη τιμή άξονα. Η προεπιλογή είναι |
Επιστρεφόμενη τιμή
Επιστρέφει μια τιμή 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#
changed εκτελεί μια συνάρτηση όταν η θέση του joystick αλλάζει κατά μήκος αυτού του άξονα.
Διαθέσιμη λειτουργία
void changed(void (* callback)(void)) const;
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Μια συνάρτηση που εκτελείται κάθε φορά που αλλάζει η θέση του joystick κατά μήκος αυτού του άξονα. |
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Μια προηγουμένως καθορισμένη συνάρτηση επανάκλησης που καλείται αυτόματα όταν αλλάζει η τιμή του άξονα. Η συνάρτηση πρέπει να ταιριάζει με την απαιτούμενη υπογραφή επανάκλησης. Ανατρέξτε στην ενότητα Συναρτήσεις επανάκλησης για περισσότερες πληροφορίες. |
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
Παράδειγμα
Ορίστε τη συνάρτηση επανάκλησης εκτός του 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); }