Κουμπί#

Εισαγωγή#

Η κλάση button είναι μια παράγωγη κλάση της κλάσης controller. Παρέχει πρόσβαση στις καταστάσεις των κουμπιών του Controller και στις ανακλήσεις συμβάντων κουμπιών.

Ένα αντικείμενο button είναι προσβάσιμο μέσω ενός αντικειμένου controller Δεν κατασκευάζεται απευθείας.

Η μπροστινή και η πίσω πλευρά του χειριστηρίου V5 με τα κουμπιά επισημασμένα με κίτρινο χρώμα. Στην επιφάνεια του χειριστηρίου υπάρχουν κουμπιά βέλους πάνω, κάτω, αριστερά και δεξιά στα αριστερά και κουμπιά X, A, B, Y δεξιόστροφα από τις 12 η ώρα στα δεξιά. Στην πίσω πλευρά του χειριστηρίου υπάρχουν L1, L2, R1 και R2 στην αριστερή και δεξιά πλευρά αντίστοιχα.

Πρόσβαση#

The controller class provides the following button objects. Each object is an instance of the button class.

Αντικείμενο

Παράδειγμα Χρήσης

Περιγραφή

ButtonA

Controller.ButtonA.pressing()

Το κουμπί A.

ButtonB

Controller.ButtonB.pressing()

Το κουμπί B.

ButtonX

Controller.ButtonX.pressing()

Το κουμπί X.

ButtonY

Controller.ButtonY.pressing()

Το κουμπί Y.

ButtonDown

Controller.ButtonDown.pressing()

Το κουμπί Κάτω.

ButtonUp

Controller.ButtonUp.pressing()

Το κουμπί Πάνω.

ButtonLeft

Controller.ButtonLeft.pressing()

Το κουμπί Αριστερά.

ButtonRight

Controller.ButtonRight.pressing()

Το κουμπί Δεξιά.

ButtonL1

Controller.ButtonL1.pressing()

Το κουμπί L1.

ButtonL2

Controller.ButtonL2.pressing()

Το κουμπί L2.

ButtonR1

Controller.ButtonR1.pressing()

Το κουμπί R1.

ButtonR2

Controller.ButtonR2.pressing()

Το κουμπί R2.

Σημειώσεις#

  • Πριν χρησιμοποιήσετε μια συνάρτηση μέλους button , δημιουργήστε ένα αντικείμενο controller.

// Create a Controller object
controller Controller = controller();

Συναρτήσεις Μελών#

Η κλάση button περιλαμβάνει τις ακόλουθες συναρτήσεις-μέλη:

Getter — Ανάγνωση κατάστασης κουμπιού.

  • pressing — Επιστρέφει εάν το κουμπί είναι πατημένο.

Επιστροφές κλήσεων — Εκτέλεση συναρτήσεων όταν προκύπτουν συμβάντα κουμπιών.

  • pressed — Καταχωρεί μια λειτουργία που θα εκτελεστεί όταν πατηθεί το κουμπί.

  • released — Καταχωρεί μια συνάρτηση που θα εκτελεστεί όταν αφήσετε το κουμπί.

Λήπτης#

πιεστικός#

Το πάτημα του pressing επιστρέφουν εάν το κουμπί πατιέται τη δεδομένη στιγμή.

Διαθέσιμη λειτουργία

bool pressing() const;

Παράμετροι

Αυτή η συνάρτηση δεν έχει παραμέτρους.

Επιστρεφόμενη τιμή

Επιστρέφει μια λογική τιμή.

  • true — Το κουμπί πατιέται.

  • false — Το κουμπί δεν πατιέται.

Παράδειγμα

// Turn right while L1 is pressed
while (true) {
  if (Controller.ButtonL1.pressing()) {
    Drivetrain.turn(right);
  }
  else {
    Drivetrain.stop();
  }

  wait(20, msec);
}

Επανακλήσεις#

πιεσμένο#

Με πάτημα pressed καταγράφει μια λειτουργία που εκτελείται όταν πατηθεί το κουμπί.

Διαθέσιμη λειτουργία

void pressed(void (* callback)(void)) const;

Παράμετρος

Τύπος

Περιγραφή

callback

void (*)(void)

Μια λειτουργία που εκτελείται όταν πατηθεί το κουμπί.

Επιστρεφόμενη τιμή

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Παράδειγμα

Ορίστε τη συνάρτηση επανάκλησης εκτός του main.

// Drive forward when A is pressed
void driveForward() {
  Drivetrain.driveFor(forward, 100, mm);
}

Καταχωρίστε την επανάκληση μέσα στο main.

int main() {
  vexcodeInit();

  // Run driveForward when A is pressed
  Controller.ButtonA.pressed(driveForward);
}

κυκλοφόρησε#

released καταχωρεί μια συνάρτηση που εκτελείται όταν απελευθερώνεται το κουμπί.

Διαθέσιμη λειτουργία

void released(void (* callback)(void)) const;

Παράμετρος

Τύπος

Περιγραφή

callback

void (*)(void)

Μια συνάρτηση που εκτελείται όταν απελευθερώνεται το κουμπί.

Επιστρεφόμενη τιμή

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Παράδειγμα

Ορίστε τη συνάρτηση επανάκλησης εκτός του main.

// Stop the drivetrain when A is released
void stopDriving() {
  Drivetrain.stop();
}

Καταχωρίστε την επανάκληση μέσα στο main.

int main() {
  vexcodeInit();

  // Run stopDriving when A is released
  Controller.ButtonA.released(stopDriving);
}