Κουμπί#
Εισαγωγή#
Η κλάση button είναι μια παράγωγη κλάση της κλάσης controller. Παρέχει πρόσβαση στις καταστάσεις των κουμπιών του ελεγκτή και στις ανακλήσεις συμβάντων κουμπιών.
Ένα αντικείμενο button είναι προσβάσιμο μέσω ενός αντικειμένου controller Δεν κατασκευάζεται απευθείας.
Το χειριστήριο IQ (1ης γενιάς) έχει οκτώ κύρια κουμπιά. Εάν ένα χειριστήριο IQ (2ης γενιάς) είναι συνδεδεμένο στο IQ (1ης γενιάς) Brain, μπορούν επίσης να χρησιμοποιηθούν τα κουμπιά joystick ButtonL3 και ButtonR3.

Πρόσβαση#
The controller class provides the following button objects. Each object is an instance of the button class.
Αντικείμενο |
Παράδειγμα Χρήσης |
Περιγραφή |
|---|---|---|
|
|
Το κουμπί E ▼. |
|
|
Το κουμπί E ▲. |
|
|
Το κουμπί F ▼. |
|
|
Το κουμπί F ▲. |
|
|
Το κουμπί L ▼. |
|
|
Το κουμπί L ▲. |
|
|
Το κουμπί R ▼. |
|
|
Το κουμπί R ▲. |
|
|
Το κουμπί Αριστερό Joystick. Μόνο για το χειριστήριο IQ (2ης γενιάς). |
|
|
Το κουμπί του Δεξιού Joystick. Μόνο για το χειριστήριο IQ (2ης γενιάς). |
Σημειώσεις#
Πριν χρησιμοποιήσετε μια συνάρτηση μέλους
button, δημιουργήστε ένα αντικείμενοcontroller.ButtonL3καιButtonR3είναι διαθέσιμα μόνο όταν είναι συνδεδεμένος ένας ελεγκτής IQ (2ης γενιάς).
// Create a controller object
controller Controller = controller();
Συναρτήσεις Μελών#
Η κλάση button περιλαμβάνει τις ακόλουθες συναρτήσεις-μέλη:
Getter — Ανάγνωση κατάστασης κουμπιού.
pressing— Επιστρέφει εάν το κουμπί είναι πατημένο.
Επιστροφές κλήσεων — Εκτέλεση συναρτήσεων όταν προκύπτουν συμβάντα κουμπιών.
Λήπτης#
pressing#
Το πάτημα του pressing επιστρέφουν εάν το κουμπί πατιέται τη δεδομένη στιγμή.
Διαθέσιμη λειτουργία
bool pressing() const;
Παράμετροι
Αυτή η συνάρτηση δεν έχει παραμέτρους.
Επιστρεφόμενη τιμή
Επιστρέφει μια λογική τιμή.
true— Το κουμπί πατιέται.false— Το κουμπί δεν πατιέται.
Παράδειγμα
// Turn right while R Up is pressed
while (true) {
if (Controller.ButtonRUp.pressing()) {
Drivetrain.turn(right);
}
else {
Drivetrain.stop();
}
wait(20, msec);
}
Επανακλήσεις#
pressed#
Με πάτημα pressed καταγράφει μια λειτουργία που εκτελείται όταν πατηθεί το κουμπί.
Διαθέσιμη λειτουργία
void pressed(void (* callback)(void)) const;
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Μια λειτουργία που εκτελείται όταν πατηθεί το κουμπί. |
Επιστρεφόμενη τιμή
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
Παράδειγμα
Ορίστε τη συνάρτηση επανάκλησης εκτός του 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;
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Μια συνάρτηση που εκτελείται όταν απελευθερώνεται το κουμπί. |
Επιστρεφόμενη τιμή
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
Παράδειγμα
Ορίστε τη συνάρτηση επανάκλησης εκτός του 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);
}