Ελεγκτής#
Εισαγωγή#
Το χειριστήριο VEX AIM One Stick διαθέτει τέσσερα κουμπιά και ένα joystick. Το joystick μπορεί να κινηθεί κατά μήκος δύο αξόνων και μπορεί επίσης να πατηθεί σαν κουμπί.
Οι μέθοδοι του ελεγκτή μπορούν να χρησιμοποιηθούν για τον έλεγχο του πατήματος κουμπιών, την ανάγνωση της κίνησης του joystick, τον έλεγχο της σύνδεσης και της κατάστασης της μπαταρίας ή την εκτέλεση λειτουργιών όταν συμβαίνουν συμβάντα του ελεγκτή.
Παρακάτω είναι μια λίστα με όλες τις μεθόδους:
Λήψη δεδομένων — Ανάγνωση κουμπιού, joystick, σύνδεσης και κατάστασης μπαταρίας.
.pressing— Returns whether a specified button is being pressed..position— Returns the joystick position along a specified axis.is_connected— Returns whether the controller is connected.get_battery_level— Returns the controller’s battery level.
Επανακλήσεις — Εκτέλεση συναρτήσεων όταν αλλάζει η είσοδος του ελεγκτή.
Αποκτητές#
.pressing#
.pressing returns whether a specific button on the controller is currently being pressed. This method must be called on a specific button object, such as controller.button_up.
True— The specified button is being pressed.False— The specified button is not being pressed.
Χρήση:
Ένα από τα πέντε διαθέσιμα αντικείμενα κουμπιών μπορεί να χρησιμοποιηθεί με αυτήν τη μέθοδο:
Κουμπί |
Εντολή |
|---|---|
|
|
|
|
|
|
|
|
|
|
Παράμετροι |
Περιγραφή |
|---|---|
Αυτή η μέθοδος δεν έχει παραμέτρους. |
# Move forward while the Up button is being pressed
while True:
if controller.button_up.pressing():
robot.move_at(0)
else:
robot.stop_all_movement()
wait(20, MSEC)
.position#
.position returns the position of a joystick axis as a number from -100 to 100.
This method must be called on a specific axis object, such as controller.axis1.
Χρήση:
Ένα από τα δύο διαθέσιμα αντικείμενα άξονα μπορεί να χρησιμοποιηθεί με αυτήν τη μέθοδο:
Αξονας |
Εντολή |
|---|---|
|
|
|
|
Παράμετροι |
Περιγραφή |
|---|---|
Αυτή η μέθοδος δεν έχει παραμέτρους. |
# Move forward when the joystick is moved up
while True:
if controller.axis1.position() > 0:
robot.move_at(0)
else:
robot.stop_all_movement()
wait(20, MSEC)
is_connected#
is_connected returns whether the controller is connected.
True— The controller is connected.False— The controller is not connected.
Usage:
controller.is_connected()
Παράμετροι |
Περιγραφή |
|---|---|
Αυτή η μέθοδος δεν έχει παραμέτρους. |
# Stop the robot if the controller disconnects
robot.move_at(0)
while True:
if not controller.is_connected():
robot.stop_all_movement()
wait(100, MSEC)
get_battery_level#
get_battery_level returns the controller’s battery level as a number from 0 to 100.
Usage:
controller.get_battery_level()
Παράμετροι |
Περιγραφή |
|---|---|
Αυτή η μέθοδος δεν έχει παραμέτρους. |
# Display the controller's battery level
robot.screen.print(controller.get_battery_level())
Επανακλήσεις#
.pressed#
.pressed runs a function when the specified button is pressed. Once it is used, the function will run automatically each time that button is pressed.
Χρήση:
Ένα από τα πέντε διαθέσιμα αντικείμενα κουμπιών μπορεί να χρησιμοποιηθεί με αυτήν τη μέθοδο:
Κουμπί |
Εντολή |
|---|---|
|
|
|
|
|
|
|
|
|
|
Παράμετρος |
Περιγραφή |
|---|---|
|
Μια προηγουμένως καθορισμένη συνάρτηση που θα εκτελείται κάθε φορά που πατιέται το καθορισμένο κουμπί. |
|
Προαιρετικό. Μια πλειάδα που περιέχει ορίσματα για να μεταβιβαστούν στη συνάρτηση επανάκλησης. Δείτε Χρήση συμβάντων με παραμέτρους για περισσότερες πληροφορίες. |
# Kick hard when the Up button is pressed
def kick_object():
robot.kicker.kick(HARD)
controller.button_up.pressed(kick_object)
.released#
.released runs a function when the specified button is released. Once it is used, the function will run automatically each time that button is released.
Χρήση:
Ένα από τα πέντε διαθέσιμα αντικείμενα κουμπιών μπορεί να χρησιμοποιηθεί με αυτήν τη μέθοδο:
Κουμπί |
Εντολή |
|---|---|
|
|
|
|
|
|
|
|
|
|
Παράμετρος |
Περιγραφή |
|---|---|
|
Μια προηγουμένως καθορισμένη συνάρτηση που θα εκτελείται κάθε φορά που απελευθερώνεται το καθορισμένο κουμπί. |
|
Προαιρετικό. Μια πλειάδα που περιέχει ορίσματα για να μεταβιβαστούν στη συνάρτηση επανάκλησης. Δείτε Χρήση συμβάντων με παραμέτρους για περισσότερες πληροφορίες. |
# Clear the screen after the Up button is released
def clear_screen():
robot.screen.clear_screen()
controller.button_up.released(clear_screen)
robot.screen.print("Press Up, then")
robot.screen.next_row()
robot.screen.print("Release Up!")
.changed#
.changed runs a function when the joystick’s position changes along the specified axis. Once it is used, the function will run automatically each time the joystick’s position changes along that axis.
Χρήση:
Ένα από τα δύο διαθέσιμα αντικείμενα άξονα μπορεί να χρησιμοποιηθεί με αυτήν τη μέθοδο:
Αξονας |
Εντολή |
|---|---|
|
|
|
|
Παράμετρος |
Περιγραφή |
|---|---|
|
Μια προηγουμένως καθορισμένη συνάρτηση που θα εκτελείται κάθε φορά που αλλάζει η θέση του joystick κατά μήκος του καθορισμένου άξονα. |
|
Προαιρετικό. Μια πλειάδα που περιέχει ορίσματα για να μεταβιβαστούν στη συνάρτηση επανάκλησης. Δείτε Χρήση συμβάντων με παραμέτρους για περισσότερες πληροφορίες. |
# Show an emoji when the joystick moves up or down
def move_joystick():
robot.screen.show_emoji(CONFUSED)
controller.axis1.changed(move_joystick)