Pengontrol#
Perkenalan#
Kontroler VEX AIM One Stick memiliki empat tombol dan sebuah joystick. Joystick dapat digerakkan sepanjang dua sumbu dan juga dapat ditekan seperti tombol.
Metode pengontrol dapat digunakan untuk memeriksa penekanan tombol, membaca pergerakan joystick, memeriksa status koneksi dan baterai, atau menjalankan fungsi ketika peristiwa pengontrol terjadi.
Berikut adalah daftar semua metode:
Fungsi Getter — Membaca status tombol, joystick, koneksi, dan baterai.
.pressing— Mengembalikan apakah tombol yang ditentukan sedang ditekan..position— Mengembalikan posisi joystick sepanjang sumbu yang ditentukan.is_connected— Mengembalikan apakah pengontrol terhubung.get_battery_level— Mengembalikan level baterai pengontrol.
Callback — Menjalankan fungsi saat input controller berubah.
Pencari#
.pressing#
.pressing mengembalikan nilai boolean yang menunjukkan apakah tombol tertentu pada controller sedang ditekan. Metode ini harus dipanggil pada objek tombol tertentu, seperti controller.button_up.
True— Tombol yang ditentukan sedang ditekan.False— Tombol yang ditentukan tidak ditekan.
Penggunaan:
Salah satu dari lima objek tombol yang tersedia dapat digunakan dengan metode ini:
Tombol |
Memerintah |
|---|---|
|
|
|
|
|
|
|
|
|
|
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# 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 mengembalikan posisi sumbu joystick sebagai angka dari -100 hingga 100.
Metode ini harus dipanggil pada objek sumbu tertentu, seperti controller.axis1.
Penggunaan:
Salah satu dari dua objek sumbu yang tersedia dapat digunakan dengan metode ini:
Sumbu |
Memerintah |
|---|---|
|
|
|
|
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# 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 mengembalikan nilai boolean yang menunjukkan apakah controller terhubung atau tidak.
True— Pengontrol terhubung.False— Pengontrol tidak terhubung.
Usage:
controller.is_connected()
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# 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 mengembalikan level baterai pengontrol sebagai angka dari 0 hingga 100.
Usage:
controller.get_battery_level()
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# Display the controller's battery level
robot.screen.print(controller.get_battery_level())
Panggilan balik#
.pressed#
.pressed menjalankan sebuah fungsi ketika tombol yang ditentukan ditekan. Setelah digunakan, fungsi tersebut akan berjalan secara otomatis setiap kali tombol tersebut ditekan.
Penggunaan:
Salah satu dari lima objek tombol yang tersedia dapat digunakan dengan metode ini:
Tombol |
Memerintah |
|---|---|
|
|
|
|
|
|
|
|
|
|
Parameter |
Keterangan |
|---|---|
|
Sebuah fungsi yang telah didefinisikan sebelumnya untuk dijalankan setiap kali tombol yang ditentukan ditekan. |
|
Opsional. Sebuah tuple yang berisi argumen untuk diteruskan ke fungsi callback. Lihat Menggunakan Event dengan Parameter untuk informasi selengkapnya. |
# Kick hard when the Up button is pressed
def kick_object():
robot.kicker.kick(HARD)
controller.button_up.pressed(kick_object)
.released#
.released menjalankan sebuah fungsi ketika tombol yang ditentukan dilepaskan. Setelah digunakan, fungsi tersebut akan berjalan secara otomatis setiap kali tombol tersebut dilepaskan.
Penggunaan:
Salah satu dari lima objek tombol yang tersedia dapat digunakan dengan metode ini:
Tombol |
Memerintah |
|---|---|
|
|
|
|
|
|
|
|
|
|
Parameter |
Keterangan |
|---|---|
|
Sebuah fungsi yang telah didefinisikan sebelumnya untuk dijalankan setiap kali tombol yang ditentukan dilepas. |
|
Opsional. Sebuah tuple yang berisi argumen untuk diteruskan ke fungsi callback. Lihat Menggunakan Event dengan Parameter untuk informasi selengkapnya. |
# 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 menjalankan sebuah fungsi ketika posisi joystick berubah sepanjang sumbu yang ditentukan. Setelah digunakan, fungsi tersebut akan berjalan secara otomatis setiap kali posisi joystick berubah sepanjang sumbu tersebut.
Penggunaan:
Salah satu dari dua objek sumbu yang tersedia dapat digunakan dengan metode ini:
Sumbu |
Memerintah |
|---|---|
|
|
|
|
Parameter |
Keterangan |
|---|---|
|
Sebuah fungsi yang telah didefinisikan sebelumnya untuk dijalankan setiap kali posisi joystick berubah sepanjang sumbu yang ditentukan. |
|
Opsional. Sebuah tuple yang berisi argumen untuk diteruskan ke fungsi callback. Lihat Menggunakan Event dengan Parameter untuk informasi selengkapnya. |
# Show an emoji when the joystick moves up or down
def move_joystick():
robot.screen.show_emoji(CONFUSED)
controller.axis1.changed(move_joystick)