Layar#

Perkenalan#

Metode Layar mengontrol bagaimana Robot Pemrograman VEX AIM menampilkan teks, angka, dan grafik di layarnya, serta bagaimana robot tersebut merespons tekanan pada layar.

Berikut adalah daftar semua metode:

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.

Cetak Kursor – Menampilkan teks menggunakan sistem baris/kolom.

  • 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 kursor saat ini.

  • get_column – Mengembalikan kolom kursor saat ini.

Pencetakan XY – Menampilkan teks pada koordinat layar tertentu.

  • 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 – Bersihkan layar atau perbarui pengaturan visual.

  • clear_screen – Menghapus semua gambar dan teks dari layar.

  • 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_fill_color – Mengatur warna isian untuk bentuk yang digambar dan latar belakang teks yang dicetak.

Gambar – Tambahkan grafik dan gambar ke layar.

Callback – Menjalankan fungsi saat layar ditekan atau dilepaskan.

  • pressed – Mendaftarkan fungsi yang akan dipanggil saat layar ditekan.

  • released – Mendaftarkan fungsi yang akan dipanggil saat layar dilepaskan.

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:
robot.screen.pressing()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

# Turn LEDs white only while the screen is pressed.
while True:
    if robot.screen.pressing():
        robot.led.on(ALL_LEDS, WHITE)
    else:
        robot.led.off(ALL_LEDS)

    wait(50, MSEC)

# Display different messages after the screen is pressed
while not robot.screen.pressing():
    wait(5, MSEC)
robot.screen.print("First message!")
robot.screen.next_row()
# Lift finger to press the screen again
while robot.screen.pressing():
    wait(5, MSEC)
while not robot.screen.pressing():
    wait(5, MSEC)
robot.screen.print("Second message!")
robot.screen.next_row()

x_position#

x_position mengembalikan koordinat x dari penekanan layar terakhir sebagai bilangan bulat dari 0 (kiri) hingga 240 (kanan).

Usage:
robot.screen.x_position()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

# Display the x-coordinate of where
# the screen is pressed
while True:
    if robot.screen.pressing():
        robot.screen.clear_screen()
        robot.screen.print(robot.screen.x_position())
    wait (50, MSEC)

y_position#

y_position mengembalikan koordinat y dari penekanan layar terakhir sebagai bilangan bulat dari 0 (atas) hingga 240 (bawah).

Usage:
robot.screen.y_position()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

# Display the y-coordinate of where
# the screen is pressed
while True:
    if robot.screen.pressing():
        robot.screen.clear_screen()
        robot.screen.print(robot.screen.y_position())
    wait (50, MSEC)

Cetak Kursor#

print#

print mencetak teks, angka, atau nilai variabel pada layar robot di posisi kursor dan font saat ini.

Usage:
robot.screen.print(text)

Parameter

Keterangan

text

Teks, angka, atau nilai variabel yang akan ditampilkan di layar.

# Display a message at the starting cursor position
robot.screen.print("Hello, Robot!")

Tangkapan layar dari layar robot, dengan tulisan "Halo, Robot!" tercetak putih di bagian atas.

set_cursor#

set_cursor memindahkan kursor teks ke baris dan kolom tertentu di layar robot. Panggilan print berikutnya akan mulai mencetak di lokasi tersebut. Jumlah baris dan kolom yang muat bergantung pada font yang dipilih. Dengan font monospasi medium default, layar dapat menampilkan hingga 8 baris dan 13 kolom dengan jelas. Teks yang ditempatkan di luar rentang ini mungkin terpotong atau lebih sulit dibaca.

Font monospasi memiliki karakter yang semuanya memiliki lebar yang sama, sehingga penempatan teks konsisten. Sebaliknya, font proporsional bervariasi lebar karakternya, sehingga beberapa huruf membutuhkan lebih banyak ruang daripada yang lain. Namun, terlepas dari jenis mana yang digunakan, set_cursor memposisikan kursor berdasarkan ukuran baris dan kolom, bukan gaya font. Ukuran font dapat disesuaikan menggunakan set_font.

Usage:
robot.screen.set_cursor(row, column)

Parameter

Keterangan

row

Baris tempat kursor akan dipindahkan.

column

Kolom tempat kursor akan dipindahkan.

# Display text starting at Row 3 Column 2
robot.screen.set_cursor(3, 2)
robot.screen.print("Row 3, Column 2")

Tangkapan layar dari layar robot, dengan tulisan "Baris 3, Kolom 2" tercetak putih tepat di atas tengah layar, dimulai dari baris 3 kolom 2.

next_row#

next_row memindahkan kursor ke kolom 1 pada baris berikutnya di layar robot.

Usage:
robot.screen.next_row()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

# Display two lines of text
robot.screen.print("Line 1")
robot.screen.next_row()
robot.screen.print("Line 2")

Tangkapan layar dari layar robot dengan teks putih. Layar menampilkan Baris 1 di baris atas, rata kiri, dan Baris 2 tepat di bawahnya.

clear_row#

clear_row menghapus satu baris teks pada layar robot.

Usage:
robot.screen.clear_row(row, color)

Parameter

Keterangan

row

Opsional. Baris yang akan dihapus sebagai bilangan bulat. Nilai default adalah baris kursor saat ini.

color

Opsional. Warna yang akan diterapkan pada baris yang telah dibersihkan. Pilihannya meliputi:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
Anda juga dapat menentukan warna khusus.

# Display text on two rows
robot.screen.print("This text stays")
robot.screen.next_row()
robot.screen.print("This text disappears")

# Wait 3 seconds before clearing only the second row
wait(3, SECONDS)
robot.screen.clear_row()

# Turn the 5th row green
robot.screen.clear_row(5, GREEN)

Tangkapan layar dari layar robot dengan garis hijau melintang di tengah layar dari kiri ke kanan.

get_row#

get_row mengembalikan baris saat ini tempat teks akan dicetak sebagai bilangan bulat.

Usage:
robot.screen.get_row()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

# Set cursor to (3,2) and print row number
robot.screen.set_cursor(3, 2)
robot.screen.print(robot.screen.get_row())

Tangkapan layar SA dari layar robot, dengan angka 3 putih tercetak di dekat tengah kuadran kiri atas, pada baris 3 kolom 2.

get_column#

get_column mengembalikan kolom saat ini tempat teks akan dicetak sebagai bilangan bulat.

Usage:
robot.screen.get_column()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

# Set cursor to (3,2) and print column number
robot.screen.set_cursor(3, 2)
robot.screen.print(robot.screen.get_column())

Tangkapan layar dari layar robot, dengan angka 2 berwarna putih tercetak di dekat tengah kuadran kiri atas, pada baris 3 kolom 2.

Cetak XY#

set_origin#

set_origin mengatur titik asal yang digunakan untuk menggambar dan mencetak berbasis koordinat pada layar robot. Secara default, titik asalnya adalah pojok kiri atas layar.

Usage:
robot.screen.set_origin(x, y)

Parameter

Keterangan

x

Koordinat x baru yang akan ditetapkan sebagai titik asal, diberikan sebagai bilangan bulat dari 0 hingga 240.

y

Koordinat y baru yang akan ditetapkan sebagai titik asal, diberikan sebagai bilangan bulat dari 0 hingga 240.

# Set the origin to the center of the screen
robot.screen.set_origin(120, 120)

# Draw a rectangle at the new origin
robot.screen.draw_rectangle(0, 0, 80, 40)

Tangkapan layar dari layar robot dengan persegi panjang putih yang digambar di kuadran kiri bawah. Sudut kiri atas persegi panjang adalah pusat layar.

Mutator#

clear_screen#

clear_screen menghapus semua gambar dan teks dari layar robot. Secara default, perintah ini juga mengatur ulang posisi kursor ke baris 1, kolom 1.

Usage:
robot.screen.clear_screen(color)

Parameter

Keterangan

color

Opsional. Mengatur warna layar. Pilihannya meliputi:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
Anda juga dapat menentukan warna kustom.

# Draw a circle, and clear it after 2 seconds
robot.screen.draw_circle(120, 120, 60)
wait(2, SECONDS)
robot.screen.clear_screen()

# Set the background color of the screen to red
robot.screen.clear_screen(RED)

Tangkapan layar dari layar robot, menunjukkan seluruh layar berwarna merah terang.

set_font#

set_font mengatur font yang digunakan untuk menampilkan teks di layar robot. Font ini akan berlaku untuk semua teks yang dicetak dengan print atau print_at. Font default di awal proyek adalah MONO24.

Usage:
robot.screen.set_font(fontname)

Parameter

Keterangan

fontname

Sets the font to one of the following:

  • MONO12
  • MONO15
  • MONO20
  • MONO24
  • MONO30
  • MONO40
  • MONO60
  • PROP20
  • PROP30
  • PROP40
  • PROP60
These options are shown below.

Tangkapan layar dari layar robot yang menunjukkan contoh angka dan huruf yang dicetak dalam font Mono 12. Alfabet mencakup 1 baris teks. Bagian bawah menampilkan 26 karakter secara horizontal dan 15 baris.
MONO12

Gambar yang sama seperti sebelumnya dengan font Mono 15. Huruf AT mencakup 1 baris teks. Bagian bawah terbaca 20 karakter mendatar dan 12 baris.
MONO15

Gambar yang sama seperti sebelumnya, dengan font Mono 20. Huruf AP mencakup 1 baris teks. Bagian bawah terbaca 16 karakter mendatar dan 9 baris.
MONO20

Gambar yang sama seperti sebelumnya, dengan font Mono 24. Huruf AM mencakup 1 baris teks. Bagian bawah terbaca 13 karakter mendatar dan 8 baris.
MONO24

Gambar yang sama seperti sebelumnya, dengan font Mono 30. Huruf AK mencakup 1 baris teks. Bagian bawah terbaca 11 karakter mendatar dan 6 baris.
MONO30

Gambar yang sama seperti sebelumnya, dengan font Mono 40. Huruf AH mencakup 1 baris teks. Bagian bawah terbaca 8 karakter mendatar dan 5 baris.
MONO40

Gambar yang sama seperti sebelumnya, dengan angka yang dicetak dalam font Mono 60. Angka 1-6 mencakup 1 baris teks. Bagian bawah terbaca 3 baris.
MONO60

Gambar yang sama seperti sebelumnya, dengan font Prop 20. Huruf A mencakup 1 baris teks. Bagian bawah terbaca 20 karakter mendatar dan 9 baris.
PROP20

Gambar yang sama seperti sebelumnya, dengan font Prop 30. Huruf AM mencakup 1 baris teks. Bagian bawah terbaca 15 karakter mendatar dan 6 baris.
PROP30

Gambar yang sama seperti sebelumnya, dengan font Prop 40. Huruf AJ mencakup 1 baris teks. Bagian bawah terbaca 11 karakter mendatar dan 5 baris.
PROP40

Gambar yang sama seperti sebelumnya, dengan angka yang dicetak dalam font Prop 60. Angka 1-7 mencakup 1 baris teks. Bagian bawah bertuliskan 7 kali 3.
PROP60

# Display text using a larger font
robot.screen.set_font(MONO40)
robot.screen.print("VEX")

Tangkapan layar dari layar robot menampilkan tulisan VEX dengan font Mono 40 di pojok kiri atas.

set_pen_width#

set_pen_width mengatur ketebalan garis yang digambar dan garis luar bentuk.

Usage:
robot.screen.set_pen_width(width)

Parameter

Keterangan

width

Lebar pena, dalam piksel, dari 0 hingga 32.

# Draw a rectangle with a pen width of 10
robot.screen.set_pen_width(10)
robot.screen.draw_rectangle(50, 50, 130, 60)

Tangkapan layar dari layar robot dengan persegi panjang putih tebal yang digambar di bagian atas.

set_pen_color#

set_pen_color mengatur warna teks, piksel, garis, dan garis luar bentuk.

Usage:
robot.screen.set_pen_color(color)

Parameter

Keterangan

color

Opsional. Warna pena dan font yang akan digunakan. Pilihannya meliputi:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
Anda juga dapat menentukan warna khusus.

# Draw a rectangle with a red pen
robot.screen.set_pen_color(RED)
robot.screen.draw_rectangle(50, 50, 130, 60)

Tangkapan layar dari layar robot dengan persegi panjang merah dengan garis tipis yang ditarik di bagian atasnya.

set_fill_color#

set_fill_color mengatur warna isian yang digunakan saat bentuk digambar dan saat teks yang dicetak menggunakan latar belakang.

Usage:
robot.screen.set_fill_color(color)

Parameter

Keterangan

color

Opsional. Warna isian yang akan digunakan. Pilihannya meliputi:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
Anda juga dapat menentukan warna kustom.

# Draw two orange rectangles
robot.screen.set_fill_color(ORANGE)
robot.screen.draw_rectangle(50, 50, 100, 60)
robot.screen.draw_rectangle(50, 130, 100, 60)

Tangkapan layar dari layar robot dengan dua persegi panjang oranye sejajar dengan garis luar putih tipis yang terletak di tengah kiri layar.

# Display text with a purple background
robot.screen.set_fill_color(PURPLE)
robot.screen.print("Highlight")

Tangkapan layar dari layar robot bertuliskan Sorotan dalam teks putih dengan sorotan ungu di sekitarnya, dimulai dari sudut kiri atas.

Menggambar#

draw_pixel#

draw_pixel menggambar satu piksel pada koordinat x dan y yang dipilih menggunakan warna pena saat ini.

Usage:
robot.screen.draw_pixel(x, y)

Parameter

Keterangan

x

Koordinat x tempat piksel akan digambar, diberikan sebagai bilangan bulat dari 0 hingga 240.

y

Koordinat y tempat piksel akan digambar, diberikan sebagai bilangan bulat dari 0 hingga 240.

# Draw a pixel at the center of the screen
robot.screen.draw_pixel(120, 120)

Tangkapan layar dari layar robot dengan satu piksel putih di tengah.

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:
robot.screen.draw_line(x1, y1, x2, y2)

Parameter

Keterangan

x1

Koordinat x awal garis, diberikan sebagai bilangan bulat dari 0 hingga 240.

y1

Koordinat y awal garis, diberikan sebagai bilangan bulat dari 0 hingga 240.

x2

Koordinat x terakhir dari garis tersebut, diberikan sebagai bilangan bulat dari 0 hingga 240.

y2

Koordinat y ujung garis, diberikan sebagai bilangan bulat dari 0 hingga 240.

# Draw a line from the top left to bottom right of the screen
robot.screen.draw_line(0, 0, 240, 240)

Tangkapan layar dari layar robot dengan garis diagonal putih tipis yang ditarik dari sudut kiri atas ke sudut kanan bawah.

draw_rectangle#

draw_rectangle menggambar sebuah persegi panjang dengan sudut kiri atasnya berada pada koordinat (x, y) yang dipilih dan ukurannya ditentukan oleh lebar dan tinggi yang diberikan, semuanya diukur dalam piksel. Garis luar persegi panjang digambar menggunakan lebar pena dan warna pena saat ini. Bagian dalamnya diisi dengan warna isi, kecuali jika parameter warna color opsional digunakan.

Koordinat x dan y menggunakan titik asal default (0, 0) kecuali jika titik asal yang berbeda telah ditetapkan menggunakan set_origin.

Usage:
robot.screen.draw_rectangle(x, y, width, height, color)

Parameter

Keterangan

x

Koordinat x dari sudut kiri atas persegi panjang, diberikan sebagai bilangan bulat dari 0 hingga 240.

y

Koordinat y dari sudut kiri atas persegi panjang, diberikan sebagai bilangan bulat dari 0 hingga 240.

width

Lebar persegi panjang, diberikan sebagai bilangan bulat dari 0 hingga 240.

height

Tinggi persegi panjang, diberikan sebagai bilangan bulat dari 0 hingga 240.

color

Opsional. Warna isian persegi panjang. Pilihannya meliputi:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
Anda juga dapat menentukan warna khusus.

# Draw a red rectangle on the screen
robot.screen.draw_rectangle(50, 50, 130, 60, RED)

Tangkapan layar dari layar robot dengan persegi panjang merah terang dengan batas putih tipis yang berada di tengah bagian atas layar.

draw_circle#

draw_circle menggambar lingkaran dengan pusat di koordinat (x, y) yang dipilih dan ukuran yang ditentukan oleh jari-jari yang diberikan, semuanya diukur dalam piksel. Garis luar lingkaran digambar menggunakan lebar pena dan warna pena saat ini. Bagian dalamnya diisi dengan warna isi, kecuali jika parameter warna color opsional digunakan.

Koordinat x dan y menggunakan titik asal default (0, 0) kecuali jika titik asal yang berbeda telah ditetapkan menggunakan set_origin.

Usage:
robot.screen.draw_circle(x, y, radius, color)

Parameter

Keterangan

x

Koordinat x dari pusat lingkaran, diberikan sebagai bilangan bulat dari 0 hingga 240.

y

Koordinat y dari pusat lingkaran, diberikan sebagai bilangan bulat dari 0 hingga 240.

radius

Jari-jari lingkaran, diberikan sebagai bilangan bulat dari 0 hingga 240 piksel.

color

Optional. The fill color of the circle. Options include:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
You can also specify a custom color.

# Draw a green circle on the screen
robot.screen.draw_circle(120, 120, 40, GREEN)

Tangkapan layar dari layar robot dengan lingkaran hijau terang dengan garis putih tipis di tengahnya.

show_file#

Perintah show_file menampilkan gambar kustom yang diunggah pada layar robot, dengan posisinya diatur menggunakan parameter x, y, dan center berdasarkan titik referensi gambar.

Usage:
robot.screen.show_file(file, x, y, center)

Parameter

Keterangan

file

Gambar kustom yang akan digunakan, dari IMAGE1 hingga IMAGE10Nomor gambar sesuai dengan nomor yang ditampilkan di panel kontrol AIM.

x

Pergeseran horizontal untuk gambar, diberikan sebagai bilangan bulat dalam piksel. Nilai positif menggesernya ke kanan; nilai negatif menggesernya ke kiri.

y

Pergeseran vertikal untuk gambar, diberikan sebagai bilangan bulat dalam piksel. Nilai positif menggesernya ke bawah; nilai negatif menggesernya ke atas.

center

Opsional. Jika center=True, gambar ditempatkan menggunakan titik tengahnya di koordinat (120, 120). Secara default (center=False), sudut kiri atas gambar digunakan dan diposisikan relatif terhadap origin saat ini.

# Display uploaded Image 1 in the top left corner
robot.screen.show_file(IMAGE1, 0, 0)

# Show the same image on both sides of the screen
# Image size is 120 x 120
robot.screen.show_file(IMAGE1, 65, 0, center=True)
robot.screen.show_file(IMAGE1, -65, 0, center=True)

set_clip_region#

set_clip_region mendefinisikan area persegi panjang di layar tempat semua gambar dan teks akan dibatasi. Konten apa pun di luar area ini tidak akan ditampilkan.

Usage:
robot.screen.set_clip_region(x, y, width, height)

Parameter

Keterangan

x

Koordinat x dari sudut kiri atas wilayah klip, diberikan sebagai desimal (float) dari 0 sampai 240.

y

Koordinat y dari sudut kiri atas wilayah klip, diberikan sebagai desimal (float) dari 0 hingga 240.

width

Lebar wilayah klip dalam piksel, diberikan sebagai desimal (float) dari 0 hingga 240.

height

Tinggi wilayah klip dalam piksel, diberikan sebagai desimal (float) dari 0 hingga 240.

# Restrict text and drawings to a specific region
robot.screen.set_clip_region(0, 0, 120, 120)
robot.screen.draw_rectangle(60, 60, 100, 100, RED)
robot.screen.print_at("Cut off!", x=60, y=60)

Tangkapan layar dari layar robot yang menunjukkan teks dan gambar yang sesuai dengan area klip. Di kuadran kiri atas, teks putih bertuliskan Potong o, dengan persegi merah tepat di bawahnya.

Panggilan balik#

pressed#

pressed mendaftarkan sebuah metode yang akan dipanggil ketika layar robot ditekan.

Usage:
robot.screen.pressed(callback, arg)

Parameter

Keterangan

callback

Sebuah fungsi yang telah didefinisikan sebelumnya untuk dieksekusi ketika layar pengontrol ditekan.

arg

Opsional. Sebuah tuple yang berisi argumen untuk diteruskan ke fungsi callback. Lihat Menggunakan Fungsi dengan Parameter untuk informasi lebih lanjut.

# Set the LEDs to green when the screen is pressed.
def screen_touched():
    robot.led.on(ALL_LEDS, GREEN)

robot.screen.pressed(screen_touched)

released#

released mendaftarkan sebuah metode yang akan dipanggil ketika layar robot dilepaskan.

Usage:
robot.screen.released(callback, arg)

Parameter

Keterangan

callback

Sebuah fungsi yang telah didefinisikan sebelumnya untuk dieksekusi ketika layar pengontrol ditekan.

arg

Opsional. Sebuah tuple yang berisi argumen untuk diteruskan ke fungsi callback. Lihat Menggunakan Fungsi dengan Parameter untuk informasi lebih lanjut.

# Set the LEDs to blue when the screen is released.
def screen_released():
    robot.led.on(ALL_LEDS, BLUE)

robot.screen.released(screen_released)