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

Πρόσβαση#
Η κλάση ελεγκτή παρέχει τα ακόλουθα αντικείμενα κουμπιών. Κάθε αντικείμενο είναι μια παρουσία της κλάσης κουμπιών .
Αντικείμενο
Παράδειγμα Χρήσης
Περιγραφή
ButtonEDown
Controller.ButtonEDown.pressing()
Το κουμπί E ▼.
ButtonEUp
Controller.ButtonEUp.pressing()
Το κουμπί E ▲.
ButtonFDown
Controller.ButtonFDown.pressing()
Το κουμπί F ▼.
ButtonFUp
Controller.ButtonFUp.pressing()
Το κουμπί F ▲.
ButtonL3
Controller.ButtonL3.pressing()
Το κουμπί Αριστερό Joystick. Μόνο για το χειριστήριο IQ (2ης γενιάς).
ButtonLDown
Controller.ButtonLDown.pressing()
Το κουμπί L ▼.
ButtonLUp
Controller.ButtonLUp.pressing()
Το κουμπί L ▲.
ButtonR3
Controller.ButtonR3.pressing()
Το κουμπί του Δεξιού Joystick. Μόνο για το χειριστήριο IQ (2ης γενιάς).
ButtonRDown
Controller.ButtonRDown.pressing()
Το κουμπί R ▼.
ButtonRUp
Controller.ButtonRUp.pressing()
Το κουμπί R ▲.
Σημειώσεις#
Πριν χρησιμοποιήσετε μια συνάρτηση μέλους κουμπί , δημιουργήστε ένα αντικείμενο ελεγκτής.
Κουμπί L3 και Κουμπί R3 είναι διαθέσιμα μόνο στο χειριστήριο IQ (2ης γενιάς).
// Create a controller object
controller Controller = controller();
Συναρτήσεις Μελών#
Η κλάση button περιλαμβάνει τις ακόλουθες συναρτήσεις-μέλη:
Getter — Ανάγνωση κατάστασης κουμπιού.
πατώντας — Επιστρέφει εάν το κουμπί είναι πατημένο.
Επιστροφές κλήσεων — Εκτέλεση συναρτήσεων όταν προκύπτουν συμβάντα κουμπιών.
Λήπτης#
pressing#
Το πάτημα του επιστρέφουν εάν το κουμπί πατιέται τη δεδομένη στιγμή.
Διαθέσιμη λειτουργία
bool pressing() const;
Παράμετροι
Αυτή η συνάρτηση δεν έχει παραμέτρους.
Επιστρεφόμενη τιμή
Επιστρέφει μια λογική τιμή.
αληθές — Το κουμπί πατιέται.
ψευδές — Το κουμπί δεν πατιέται.
Παράδειγμα
// Turn right while R Up is pressed
while (true) {
if (Controller.ButtonRUp.pressing()) {
Drivetrain.turn(right);
}
else {
Drivetrain.stop();
}
wait(20, msec);
}
Επανακλήσεις#
pressed#
Με πάτημα καταγράφει μια λειτουργία που εκτελείται όταν πατηθεί το κουμπί.
Διαθέσιμη λειτουργία
void pressed(void (* callback)(void)) const;
Παράμετρος
Τύπος
Περιγραφή
callback
void (*)(void)
Μια λειτουργία που εκτελείται όταν πατηθεί το κουμπί.
Επιστρεφόμενη τιμή
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
Παράδειγμα
Ορίστε τη συνάρτηση επανάκλησης εκτός του main.
// Drive forward when F Up is pressed
void driveForward() {
Drivetrain.driveFor(forward, 100, mm);
}
Καταχωρίστε την επανάκληση μέσα στο main.
int main() {
vexcodeInit();
// Run driveForward when F Up is pressed
Controller.ButtonFUp.pressed(driveForward);
}
released#
released καταχωρεί μια συνάρτηση που εκτελείται όταν απελευθερώνεται το κουμπί.
Διαθέσιμη λειτουργία
void released(void (* callback)(void)) const;
Παράμετρος
Τύπος
Περιγραφή
callback
void (*)(void)
Μια συνάρτηση που εκτελείται όταν απελευθερώνεται το κουμπί.
Επιστρεφόμενη τιμή
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
Παράδειγμα
Ορίστε τη συνάρτηση επανάκλησης εκτός του main.
// Stop the drivetrain when F Up is released
void stopDriving() {
Drivetrain.stop();
}
Καταχωρίστε την επανάκληση μέσα στο main.
int main() {
vexcodeInit();
// Run stopDriving when F Up is released
Controller.ButtonFUp.released(stopDriving);
}