Κουμπί#
Εισαγωγή#
The button class is a derived class of the controller class. It provides access to controller button states and button event callbacks.
A button object is accessed through a controller object. It is not constructed directly.
The IQ (1st gen) Controller has eight main button objects. If an IQ (2nd gen) Controller is connected to the IQ (1st gen) Brain, the joystick buttons ButtonL3 and ButtonR3 can also be used.

Πρόσβαση#
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ης γενιάς). |
Σημειώσεις#
Before using a
buttonmember function, create acontrollerobject.ButtonL3andButtonR3are only available when an IQ (2nd gen) Controller is connected.
// Create a controller object
controller Controller = controller();
Συναρτήσεις Μελών#
The button class includes the following member functions:
Getter — Ανάγνωση κατάστασης κουμπιού.
pressing— Returns whether the button is being pressed.
Επιστροφές κλήσεων — Εκτέλεση συναρτήσεων όταν προκύπτουν συμβάντα κουμπιών.
Λήπτης#
pressing#
pressing returns whether the button is currently being pressed.
Διαθέσιμη λειτουργία
bool pressing() const;
Παράμετροι
Αυτή η συνάρτηση δεν έχει παραμέτρους.
Επιστρεφόμενη τιμή
Επιστρέφει μια λογική τιμή.
true— The button is being pressed.false— The button is not being pressed.
Παράδειγμα
// Turn right while R Up is pressed
while (true) {
if (Controller.ButtonRUp.pressing()) {
Drivetrain.turn(right);
}
else {
Drivetrain.stop();
}
wait(20, msec);
}
Επανακλήσεις#
pressed#
pressed registers a function that runs when the button is pressed.
Διαθέσιμη λειτουργία
void pressed(void (* callback)(void)) const;
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Μια λειτουργία που εκτελείται όταν πατηθεί το κουμπί. |
Επιστρεφόμενη τιμή
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
Παράδειγμα
Define the callback function outside of main.
// Drive forward when F Up is pressed
void driveForward() {
Drivetrain.driveFor(forward, 100, mm);
}
Register the callback inside main.
int main() {
vexcodeInit();
// Run driveForward when F Up is pressed
Controller.ButtonFUp.pressed(driveForward);
}
released#
released registers a function that runs when the button is released.
Διαθέσιμη λειτουργία
void released(void (* callback)(void)) const;
Παράμετρος |
Τύπος |
Περιγραφή |
|---|---|---|
|
|
Μια συνάρτηση που εκτελείται όταν απελευθερώνεται το κουμπί. |
Επιστρεφόμενη τιμή
Αυτή η συνάρτηση δεν επιστρέφει τιμή.
Παράδειγμα
Define the callback function outside of main.
// Stop the drivetrain when F Up is released
void stopDriving() {
Drivetrain.stop();
}
Register the callback inside main.
int main() {
vexcodeInit();
// Run stopDriving when F Up is released
Controller.ButtonFUp.released(stopDriving);
}