Layar#
Perkenalan#
Metode Layar mengontrol bagaimana Pengontrol Drone VEX AIR menampilkan teks, angka, grafik, dan gambar di layarnya, serta bagaimana ia merespons tekanan pada layar.
Berikut adalah daftar metode yang tersedia:
Cetak Kursor – Menampilkan teks dan mengelola kursor cetak.
print– Mencetak teks, angka, atau nilai variabel pada posisi kursor saat ini.set_cursor– Memindahkan kursor ke baris dan kolom tertentu.next_row– Memindahkan kursor ke kolom 1 baris berikutnya.clear_row– Menghapus baris teks.get_row– Mengembalikan baris tempat teks akan dicetak.get_column– Mengembalikan kolom tempat teks akan dicetak.
Cetak XY – Mencetak teks pada koordinat berbasis piksel.
print_at– Mencetak teks, angka, atau nilai variabel pada koordinat x dan y tertentu.set_origin– Mengatur titik asal yang digunakan untuk pencetakan dan penggambaran berbasis koordinat.
Mutator – Mengubah pengaturan layar, warna, dan perilaku penggambaran.
clear_screen– Menghapus semua gambar, teks, dan citra dari layar pengontrol.wait_for_render– Mengalihkan penggambaran layar ke perilaku render-nanti.set_font– Mengatur font untuk teks yang dicetak.set_pen_width– Mengatur ketebalan garis yang digambar dan garis luar bentuk.set_pen_color– Mengatur warna teks, piksel, garis, dan garis luar bentuk.set_text_fill_color– Mengatur warna isian di belakang teks yang dicetak.set_fill_color– Mengatur warna isi untuk bentuk yang digambar.
Gambar – Tambahkan grafik dan gambar ke layar.
draw_pixel– Menggambar satu piksel pada posisi x dan y tertentu.draw_line– Menggambar garis antara dua titik.draw_rectangle– Menggambar persegi panjang menggunakan warna pena dan warna isian saat ini.draw_circle– Menggambar lingkaran menggunakan warna pena dan warna isian saat ini.show_file– Menggambar gambar yang diunggah.
Sentuh – Mendeteksi dan merespons sentuhan layar.
pressing– Mengembalikan apakah layar sedang ditekan.x_position– Mengembalikan koordinat x dari penekanan layar terakhir.y_position– Mengembalikan koordinat y dari penekanan layar terakhir.
Callback – Menjalankan fungsi saat layar ditekan atau dilepaskan.
Cetak Kursor#
print#
print mencetak teks, angka, atau nilai variabel pada layar pengontrol di posisi kursor dan font saat ini.
Usage:
controller.screen.print(text)
Parameter |
Keterangan |
|---|---|
|
Teks, angka, atau nilai variabel yang akan dicetak di layar. |
|
Opsional. Pemisah antara teks yang dicetak. Secara default, |
|
Opsional. String yang ditambahkan setelah teks terakhir yang dicetak. Secara default, |
|
Opsional. Jumlah desimal yang akan dicetak oleh angka float sebagai bilangan bulat. Secara default, presisi |
# Display a message at the starting cursor position.
controller.screen.print("Time to fly!")

# Display the first 2 decimals of pi
controller.screen.print(3.1415, precision = 2)

set_cursor#
set_cursor memindahkan kursor ke baris dan kolom tertentu pada layar pengontrol. Panggilan print berikutnya akan mulai mencetak di lokasi tersebut. Jarak antar baris dan kolom akan memperhitungkan font yang dipilih. Dengan font monospasi medium default, layar dapat menampilkan hingga 18 baris dan 53 kolom dengan jelas. Teks yang ditempatkan di luar rentang ini mungkin terpotong atau lebih sulit dibaca.
Usage:
controller.screen.set_cursor(row, col)
Parameter |
Keterangan |
|---|---|
|
Baris tempat kursor akan dipindahkan. |
|
Kolom tempat kursor akan dipindahkan. |
# Display text starting at Row 7 Column 25.
controller.screen.set_cursor(row=7, col=25)
controller.screen.print("Row 7, Column 25")

next_row#
next_row memindahkan kursor ke kolom 1 pada baris berikutnya di layar pengontrol.
Usage:
controller.screen.next_row()
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# Display two lines of text.
controller.screen.print("Line 1")
controller.screen.next_row()
controller.screen.print("Line 2")

clear_row#
clear_row menghapus satu baris teks pada layar pengontrol.
Usage:
controller.screen.clear_row(row, color)
Parameter |
Keterangan |
|---|---|
|
Opsional. Baris yang akan dihapus. Secara default, baris kursor saat ini adalah baris yang akan dihapus. |
|
Optional. The color to apply to the cleared row. If a color is not specified, the
|
# Clear only the second row of text
controller.screen.print("This text stays")
controller.screen.next_row()
controller.screen.print("This text disappears")
wait(3, SECONDS)
controller.screen.clear_row(2)
# Turn the 5th row green.
controller.screen.clear_row(5, GREEN)
get_row#
get_row mengembalikan baris saat ini tempat teks akan dicetak, sebagai bilangan bulat.
Usage:
controller.screen.get_row()
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# Display the cursor's current row.
controller.screen.set_cursor(row=7, col=25)
controller.screen.print(controller.screen.get_row())

get_column#
get_column mengembalikan kolom saat ini tempat teks akan dicetak, sebagai bilangan bulat.
Usage:
controller.screen.get_column()
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# Display the cursor's current column.
controller.screen.set_cursor(row=7, col=25)
controller.screen.print(controller.screen.get_column())

Cetak XY#
print_at#
print_at mencetak teks, angka, atau nilai variabel pada layar pengontrol pada posisi (x, y) tertentu dalam piksel, menggunakan font dan origin saat ini. x mengatur seberapa jauh teks dimulai dari sisi kiri, dan y mengatur letak bagian bawah huruf. Metode ini mengabaikan posisi kursor saat ini.
Usage:
controller.screen.print_at(text, x, y)
Parameter |
Keterangan |
|---|---|
|
Teks, angka, atau nilai variabel yang akan dicetak di layar. |
|
Posisi horizontal teks, sebagai bilangan bulat dari 0 hingga 640 piksel. 0 adalah kiri; 640 adalah kanan. |
|
Posisi vertikal teks, sebagai bilangan bulat dari 0 hingga 480 piksel. 0 adalah bagian atas; 480 adalah bagian bawah. |
# Display a message in the middle of the screen.
controller.screen.print_at("Hello, drone!", x=320, y=240)

set_origin#
set_origin mengatur titik asal (0, 0) yang digunakan untuk menggambar dan mencetak berbasis koordinat pada layar pengontrol. Secara default, titik asalnya adalah sudut kiri atas layar. Metode ini dapat mengatur ulang titik asal ke lokasi koordinat layar (x, y) alternatif.
Usage:
controller.screen.set_origin(x, y)
Parameter |
Keterangan |
|---|---|
|
Koordinat x baru yang akan ditetapkan sebagai titik asal, diberikan sebagai bilangan bulat dari 0 hingga 640. |
|
Koordinat y baru yang akan ditetapkan sebagai titik asal, diberikan sebagai bilangan bulat dari 0 hingga 480. |
# Set the origin to the center of the screen.
controller.screen.set_origin(x=320, y=240)
# Draw a rectangle at the new origin.
controller.screen.draw_rectangle(x=0, y=0, width=80, height=40)

Mutator#
clear_screen#
clear_screen menghapus semua gambar, teks, dan citra dari layar pengontrol.
Usage:
controller.screen.clear_screen(row, col, color)
Parameter |
Keterangan |
|---|---|
|
Opsional. Baris tempat kursor akan dipindahkan setelah layar dibersihkan. Nilai default adalah 1. |
|
Opsional. Kolom tempat kursor akan dipindahkan setelah layar dibersihkan. Nilai default adalah 1. |
|
Opsional. Mengatur warna layar. Jika
|
# Draw a circle, and clear it after 2 seconds.
controller.screen.draw_circle(x=320, y=240, radius=80)
wait(2, SECONDS)
controller.screen.clear_screen()
# Print two messages in the same spot
controller.screen.print("Hello!")
wait(3,SECONDS)
controller.screen.clear_screen(row=1, col=1)
controller.screen.print("Goodbye!")
# Set the background color of the screen to red.
controller.screen.clear_screen(color=RED)
wait_for_render#
wait_for_render mengalihkan tampilan layar ke perilaku render-later. Setelah metode ini dijalankan, perintah layar berikutnya tidak akan muncul di layar pengontrol hingga metode wait_for_render berikutnya dijalankan.
Catatan: Gunakan ini sebelum menggambar sekelompok teks, bentuk, atau gambar, lalu gunakan lagi untuk merender seluruh pembaruan sekaligus.
Usage:
controller.screen.wait_for_render()
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# Display text and images when button 7 is pressed.
controller.screen.wait_for_render()
controller.screen.print("Screen rendered!")
controller.screen.draw_circle(x=320, y=240, radius=80)
while not controller.button7.pressing():
wait(5, MSEC)
controller.screen.wait_for_render()

set_font#
set_font mengatur font yang digunakan untuk menampilkan teks pada layar pengontrol. Font ini akan berlaku untuk semua teks yang dicetak setelah metode ini dijalankan. Font default pada awal proyek adalah MONO20.
Usage:
controller.screen.set_font(fontname)
Parameter |
Keterangan |
|---|---|
|
Mengatur font ke salah satu dari berikut ini:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
# Display text using a larger font.
controller.screen.set_font(MONO40)
controller.screen.print("VEX")

set_pen_width#
set_pen_width mengatur ketebalan garis yang digambar dan garis luar bentuk.
Usage:
controller.screen.set_pen_width(width)
Parameter |
Keterangan |
|---|---|
|
Lebar pena, diberikan sebagai bilangan bulat dalam piksel. |
# Draw a rectangle with a pen width of 10.
controller.screen.set_pen_width(10)
controller.screen.draw_rectangle(x=200, y=200, width=200, height=80)

set_pen_color#
set_pen_color mengatur warna teks, piksel, garis, dan garis luar bentuk.
Usage:
controller.screen.set_pen_color(color)
Parameter |
Keterangan |
|---|---|
|
Optional. Sets the pen and font color. Options include:
|
# Draw a rectangle with an orange outline.
controller.screen.set_pen_color(ORANGE)
controller.screen.draw_rectangle(x=200, y=150, width=240, height=150)
controller.screen.set_pen_color(WHITE)
controller.screen.print_at("VEXcode AIR", x=250, y=220)

set_text_fill_color#
set_text_fill_color mengatur warna isian di belakang teks yang dicetak. Warna isian teks default adalah transparan.
Usage:
controller.screen.set_text_fill_color(color)
Parameter |
Keterangan |
|---|---|
|
Opsional. Mengatur warna isian teks. Pilihannya meliputi:
|
# Display two colors behind text
controller.screen.set_text_fill_color(RED)
controller.screen.print("Red")
controller.screen.next_row()
controller.screen.set_text_fill_color(BLUE)
controller.screen.print("Blue")

set_fill_color#
set_fill_color mengatur warna isian yang digunakan saat bentuk digambar. Warna isian default adalah hitam.
Usage:
controller.screen.set_fill_color(color)
Parameter |
Keterangan |
|---|---|
|
Opsional. Mengatur warna isian. Pilihannya meliputi:
|
# Draw an orange-filled rectangle with text on top
controller.screen.set_fill_color(ORANGE)
controller.screen.draw_rectangle(x=200, y=150, width=250, height=150)
controller.screen.print_at("VEXcode AIR", x=250, y=220)

Menggambar#
draw_pixel#
draw_pixel menggambar satu piksel pada koordinat x dan y yang dipilih menggunakan warna pena saat ini.
Usage:
controller.screen.draw_pixel(x, y)
Parameter |
Keterangan |
|---|---|
|
Koordinat x tempat piksel akan digambar, diberikan sebagai bilangan bulat dari 0 hingga 640. |
|
Koordinat y tempat piksel akan digambar, diberikan sebagai bilangan bulat dari 0 hingga 480. |
# Draw five pixels in a diagonal.
controller.screen.draw_pixel(x=360, y=200)
controller.screen.draw_pixel(x=340, y=220)
controller.screen.draw_pixel(x=320, y=240)
controller.screen.draw_pixel(x=300, y=260)
controller.screen.draw_pixel(x=280, y=280)
![]()
draw_line#
draw_line menggambar garis dari koordinat layar pertama (x1, y1) ke koordinat layar kedua (x2, y2) menggunakan lebar pena dan warna pena saat ini.
Koordinat x dan y menggunakan titik asal default (0, 0) kecuali jika titik asal yang berbeda telah ditetapkan menggunakan set_origin.
Usage:
controller.screen.draw_line(x1, y1, x2, y2)
Parameter |
Keterangan |
|---|---|
|
Koordinat x awal garis, diberikan sebagai bilangan bulat dari 0 hingga 640. |
|
Koordinat y awal garis, diberikan sebagai bilangan bulat dari 0 hingga 480. |
|
Koordinat x terakhir dari garis tersebut, diberikan sebagai bilangan bulat dari 0 hingga 640. |
|
Koordinat y ujung garis, diberikan sebagai bilangan bulat dari 0 hingga 480. |
# Make an X across the screen.
controller.screen.draw_line(x1=0, y1=0, x2=640, y2=480)
controller.screen.set_pen_color(CYAN)
controller.screen.draw_line(x1=0, y1=480, x2=640, y2=0)

draw_rectangle#
draw_rectangle menggambar persegi panjang menggunakan lebar pena, warna pena, dan warna isi saat ini, kecuali jika parameter opsional color digunakan.
Koordinat x dan y menggunakan titik asal default (0, 0) kecuali jika titik asal yang berbeda telah ditetapkan menggunakan set_origin.
Usage:
controller.screen.draw_rectangle(x, y, width, height, color)
Parameter |
Keterangan |
|---|---|
|
Koordinat x dari sudut kiri atas persegi panjang, diberikan sebagai bilangan bulat dari 0 hingga 640. |
|
Koordinat y dari sudut kiri atas persegi panjang, diberikan sebagai bilangan bulat dari 0 hingga 480. |
|
Lebar persegi panjang, diberikan sebagai bilangan bulat dari 0 hingga 640. |
|
Tinggi persegi panjang, diberikan sebagai bilangan bulat dari 0 hingga 480. |
|
Optional. Sets the fill color of the rectangle. Options include:
|
# Draw two rectangles on the screen.
controller.screen.draw_rectangle(x=0, y=0, width=620, height=460)
controller.screen.draw_rectangle(x=200, y=180, width=200, height=100, color=GREEN)

draw_circle#
draw_circle menggambar lingkaran menggunakan lebar pena, warna pena, dan warna isi saat ini, kecuali jika parameter opsional color digunakan.
Koordinat x dan y menggunakan titik asal default (0, 0) kecuali jika titik asal yang berbeda telah ditetapkan menggunakan set_origin.
Usage:
controller.screen.draw_circle(x, y, radius, color)
Parameter |
Keterangan |
|---|---|
|
Koordinat x dari pusat lingkaran, diberikan sebagai bilangan bulat dari 0 hingga 640. |
|
Koordinat y dari pusat lingkaran, diberikan sebagai bilangan bulat dari 0 hingga 480. |
|
Jari-jari lingkaran, diberikan sebagai bilangan bulat dari 0 hingga 480 piksel. |
|
Optional. Sets the fill color of the circle. Options include:
|
# Draw one green circle on the screen.
controller.screen.set_fill_color(GREEN)
controller.screen.draw_circle(x=320, y=240, radius=200, color=GREEN)

show_file#
show_file menggambar gambar kustom yang diunggah pada layar pengontrol di posisi x dan y, dengan penskalaan, rotasi, dan transparansi alfa opsional.
Usage:
controller.screen.show_file(file, x, y, scale_width, scale_height, rotation, use_alpha)
Parameter |
Keterangan |
|---|---|
|
Gambar yang diunggah pengguna untuk digunakan. Opsi akan berubah jika nama gambar diedit di Panel Kontrol. |
|
Pergeseran horizontal untuk gambar, diberikan sebagai bilangan bulat dalam piksel. Nilai positif menggesernya ke kanan; nilai negatif menggesernya ke kiri. |
|
Pergeseran vertikal untuk gambar, diberikan sebagai bilangan bulat dalam piksel. Nilai positif menggesernya ke bawah; nilai negatif menggesernya ke atas. |
|
Opsional. Lebar gambar yang akan diskalakan, diberikan sebagai bilangan bulat dalam piksel. |
|
Opsional. Tinggi gambar yang akan diskalakan, diberikan sebagai bilangan bulat dalam piksel. |
|
Opsional. Jumlah derajat untuk memutar gambar, diberikan sebagai bilangan bulat dari 0 hingga 359. |
|
Opsional. Apakah akan menggunakan saluran alfa gambar untuk transparansi. Pilihannya meliputi: |
# Display uploaded Image 1 in the top left corner.
controller.screen.show_file(IMAGE1, x=0, y=0)
# Display uploaded Image 1 scaled to the full screen.
controller.screen.show_file(IMAGE1, x=65, y=0, scale_width=640, scale_height=480)
# Display uploaded Image 1 with rotation of 180 degrees.
controller.screen.show_file(IMAGE1, x=-65, y=0, rotation=180)
# Upload an image with a transparent background.
# Display uploaded Image 1 with alpha channel enabled.
controller.screen.show_file(IMAGE1, x=0, y=0, use_alpha=True)
Menyentuh#
pressing#
Menekan pressing akan mengembalikan nilai Boolean yang menunjukkan apakah layar robot sedang ditekan atau tidak.
True– Layar sedang ditekan.False– Layar tidak ditekan.
Usage:
controller.screen.pressing()
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# Play a sound when the screen is pressed.
while True:
if controller.screen.pressing():
controller.sound.play_note("C5", 500)
wait(5, MSEC)
# Display different messages after the screen is pressed
while not controller.screen.pressing():
wait(5, MSEC)
controller.screen.print("First message!")
controller.screen.next_row()
# Lift finger to press the screen again
while controller.screen.pressing():
wait(5, MSEC)
while not controller.screen.pressing():
wait(5, MSEC)
controller.screen.print("Second message!")
controller.screen.next_row()
x_position#
x_position mengembalikan koordinat x dalam piksel di mana layar terakhir ditekan, sebagai bilangan bulat dari 0 (kiri) hingga 640 (kanan).

Usage:
controller.screen.x_position()
Parameter |
Keterangan |
|---|---|
Metode ini tidak memiliki parameter. |
# Play a high or low note based on where screen is pressed.
while True:
if controller.screen.pressing():
if controller.screen.x_position() > 320:
controller.sound.play_note("C6", 500)
else:
controller.sound.play_note("C4", 500)
wait(5, MSEC)
y_position#
y_position mengembalikan koordinat y dalam piksel di mana layar terakhir ditekan, sebagai bilangan bulat dari 0 (atas) hingga 480 (bawah).

Usage:
controller.screen.y_position()
# Play a high or low note based on where screen is pressed.
while True:
if controller.screen.pressing():
if controller.screen.y_position() > 240:
controller.sound.play_note("C6", 500)
else:
controller.sound.play_note("C4", 500)
wait(5, MSEC)
Panggilan balik#
pressed#
pressed mendaftarkan fungsi yang akan dipanggil saat layar pengontrol ditekan.
Usage:
controller.screen.pressed(callback, arg)
Parameter |
Keterangan |
|---|---|
|
Sebuah fungsi yang telah didefinisikan sebelumnya untuk dieksekusi ketika layar pengontrol ditekan. |
|
Opsional. Sebuah tuple yang berisi argumen untuk diteruskan ke fungsi callback. Lihat Menggunakan Fungsi dengan Parameter untuk informasi lebih lanjut. |
# Play a sound when the screen is pressed.
def play_sound():
controller.sound.play_note("C5", 500)
controller.screen.pressed(play_sound)
released#
released mendaftarkan sebuah fungsi yang akan dipanggil ketika layar pengontrol dilepaskan.
Usage:
controller.screen.released(callback, arg)
Parameter |
Keterangan |
|---|---|
|
Sebuah fungsi yang telah didefinisikan sebelumnya untuk dieksekusi ketika layar pengontrol dilepaskan. |
|
Opsional. Sebuah tuple yang berisi argumen untuk diteruskan ke fungsi callback. Lihat Menggunakan Fungsi dengan Parameter untuk informasi lebih lanjut. |
# Play a sound when the screen is pressed.
def play_sound():
controller.sound.play_note("C5", 500)
controller.screen.released(play_sound)













