Layar#

Perkenalan#

Metode Layar mengontrol bagaimana V5 Brain menampilkan teks, angka, dan grafik pada layar sentuhnya, serta bagaimana ia merespons input sentuhan.

Secara default, font untuk pencetakan ke Brain adalah monospaced small yang memiliki 12 baris dan 48 kolom.

Untuk menggambar, resolusi Brain adalah 480 x 240 piksel.

Layar V5 Brain dengan garis kisi merah menunjukkan tata letak 12 baris dan 48 kolom secara total. Dimensi pikselnya adalah 479 lebar dan 239 tinggi. Sudut kiri atas dimulai pada piksel (0,0) dan baris 1, kolom 1, sedangkan sudut kanan bawah berakhir pada piksel (479, 239) dan baris 12, kolom 48.

Berikut adalah daftar semua metode:

Cetak Kursor — Tempatkan dan cetak teks.

  • 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.

  • row — Mengembalikan baris tempat teks akan dicetak.

  • column — Mengembalikan kolom tempat teks akan dicetak.

  • print_at — Mencetak teks, angka, atau nilai variabel pada koordinat x dan y tertentu.

  • get_string_width — Mengembalikan lebar string dalam piksel menggunakan font saat ini.

  • get_string_height — Mengembalikan tinggi string dalam piksel menggunakan font saat ini.

  • clear_line — Menghapus satu baris teks.

  • new_line — Memindahkan kursor ke baris baru.

Mutator — Mengubah pengaturan layar, warna, dan perilaku penggambaran.

  • 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.

  • set_origin — Mengatur titik asal yang digunakan untuk pencetakan dan penggambaran berbasis koordinat.

Gambar — Tambahkan grafik ke layar.

  • draw_pixel — Menggambar satu piksel pada koordinat.

  • draw_line — Menggambar garis antara dua titik.

  • draw_rectangle — Menggambar persegi panjang.

  • draw_circle — Menggambar lingkaran.

  • render — Memperbarui layar Otak dengan teks dan gambar hanya ketika dipanggil.

  • set_clip_region — Membatasi di mana gambar dan teks dapat muncul.

Getter — Memeriksa status sentuhan dan posisi sentuhan.

  • 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 — Merespons peristiwa sentuhan pada layar.

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

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

Untuk informasi mengenai cara membangun Otak untuk mendapatkan akses ke metode layar screen , lihat Otak.

Cetak Kursor#

print#

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

Penggunaan:

brain.screen.print(text, sep, precision)

Parameter

Keterangan

text

Teks, angka, atau nilai variabel yang akan dicetak.

sep

Opsional. Sebuah string untuk disisipkan di antara nilai. Ini harus ditulis sebagai argumen kata kunci (sep=). Nilai defaultnya adalah “”.

precision

Opsional. Jumlah tempat desimal yang akan ditampilkan saat mencetak angka sederhana. Ini harus ditulis sebagai argumen kata kunci (precision=). Nilai defaultnya adalah 2.

# Print on the Brain's screen
brain.screen.print("Hello, Robot!")

Tangkapan layar V5 Brain yang menunjukkan "Hello Robot" tercetak di layar di pojok kiri atas dengan teks putih.

set_cursor#

set_cursor memindahkan kursor ke baris dan kolom tertentu di layar Brain. Panggilan print berikutnya akan mulai mencetak di lokasi tersebut. Berapa banyak baris dan kolom yang dapat ditampilkan dengan nyaman bergantung pada font yang dipilih. Dengan font monospasi medium default, hingga 8 baris dan 13 kolom dapat ditampilkan dengan jelas. Teks yang ditempatkan di luar rentang ini mungkin terpotong atau menjadi 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.

Penggunaan:

brain.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 12
brain.screen.set_cursor(3, 12)
brain.screen.print("Row 3, Column 12")

Tangkapan layar V5 Brain yang menunjukkan Baris 3 Kolom 12 tercetak di bagian atas dekat tengah layar, pada posisi tersebut.

next_row#

next_row memindahkan kursor ke baris berikutnya.

Penggunaan:

brain.screen.next_row()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

# Print two lines of text on the Brain's screen
brain.screen.print("Line 1")
brain.screen.next_row()
brain.screen.print("Line 2")

Tangkapan layar dari layar V5 Brain yang menunjukkan dua baris teks putih di sudut kiri atas. Baris atas bertuliskan Baris 1, dan baris kedua tepat di bawahnya bertuliskan Baris 2.

clear_row#

clear_row menghapus satu baris teks pada layar Brain.

Penggunaan:

brain.screen.clear_row(row, color)

Parameter

Keterangan

row

Opsional. Baris yang akan dihapus. Secara default, baris kursor saat ini adalah baris yang akan dihapus.

color

Opsional. warna yang valid, nilai heksadesimal, atau string web.

# Only keep the text on row 1
brain.screen.print("This text stays")
brain.screen.next_row
brain.screen.print("This text disappears")
wait(3, SECONDS)

brain.screen.clear_row()

row#

row mengembalikan baris tempat teks akan dicetak sebagai bilangan bulat.

Penggunaan:

brain.screen.row()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

# Display the cursor's current row
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.row())

Tangkapan layar dari layar V5 Brain yang menunjukkan teks 3 berwarna putih di kuadran kiri atas layar, pada posisi baris 3 kolom 2.

column#

column mengembalikan kolom tempat teks akan dicetak sebagai bilangan bulat.

Penggunaan:

brain.screen.column()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

# Display the cursor's current column
brain.screen.set_cursor(3, 15)
brain.screen.print(brain.screen.column())

Tangkapan layar dari layar V5 Brain yang menunjukkan teks 15 berwarna putih di kuadran kiri atas layar, pada posisi baris 3 kolom 15.

get_string_width#

get_string_width mengembalikan lebar string dalam piksel sebagai bilangan bulat, menggunakan font saat ini.

Usage:
brain.screen.get_string_width(string)

Parameter

Keterangan

string

Tali untuk mengukur.

get_string_height#

get_string_height mengembalikan tinggi string dalam piksel sebagai bilangan bulat, menggunakan font saat ini.

Usage:
brain.screen.get_string_height(string)

Parameter

Keterangan

string

Tali untuk mengukur.

clear_line#

clear_line menghapus baris teks saat ini.

Usage: brain.screen.clear_line()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

new_line#

new_line memindahkan kursor ke kolom 1 pada baris berikutnya di layar Brain.

Penggunaan:

brain.screen.new_line()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

Mutator#

clear_screen#

clear_screen menghapus semua gambar dan teks dari layar Otak.

Penggunaan:

brain.screen.clear_screen(color)

Parameter

Keterangan

color

Opsional. Pilihan warna yang valid:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.BLACK (Default)
  • Color.WHITE

# Print VEXcode on the screen
brain.screen.print("VEXcode")
wait(2, SECONDS)
# Clear screen to black
brain.screen.clear_screen()

# Print VEXcode on the screen
brain.screen.print("VEXcode")

# Clear screen to blue using predefined color
brain.screen.clear_screen(Color.BLUE)

Tangkapan layar dari layar V5 Brain dengan seluruh area yang dapat dicetak berwarna biru terang.

set_font#

set_font mengatur font yang digunakan untuk menampilkan teks di layar Brain. Font ini akan berlaku untuk semua teks yang dicetak setelah metode ini dijalankan.

Penggunaan:

brain.screen.set_font(font)

Parameter

Keterangan

font

Opsi font yang valid di bawah ini.

Tangkapan layar dari layar V5 Brain dengan angka dan huruf yang dicetak putih di pojok kiri atas dengan font MONO 12. Ini menunjukkan AZ dalam satu baris, sekitar seperempat lebar layar. Di pojok kiri bawah tertulis 80 kolom dan 20 baris.
FontType.MONO12

Gambar yang sama seperti sebelumnya, dengan font Mono 15. Menunjukkan AZ dalam satu baris, hampir setengah lebar layar. Di pojok kiri bawah tertulis 68 kolom dan 16 baris.
FontType.MONO15

Gambar yang sama seperti sebelumnya, dengan font Mono 20. Gambar ini menunjukkan AZ dalam satu baris, hampir dua pertiga lebar layar. Di pojok kiri bawah tertulis 48 kolom dan 12 baris.
FontType.MONO20

Gambar yang sama seperti sebelumnya, dengan font Mono 30. Gambar ini menunjukkan AZ dalam satu baris, hampir di seluruh lebar layar. Di pojok kiri bawah tertulis 32 kolom dan 8 baris.
FontType.MONO30

Gambar yang sama seperti sebelumnya, dengan font Mono 40. Menunjukkan AX dalam satu baris, membentang selebar layar. Di pojok kiri bawah tertulis 24 kolom dan 6 baris.
FontType.MONO40

Gambar yang sama seperti sebelumnya, dengan font Mono 60. Menampilkan AP dalam satu baris, membentang selebar layar. Di bagian bawah tertulis 16 kolom dan 4 baris.
FontType.MONO60

Gambar yang sama seperti sebelumnya, dengan font Prop 20. Gambar ini menunjukkan AZ dalam satu baris, hampir dua pertiga lebar layar. Di pojok kiri bawah tertulis 48 kolom dan 12 baris.
FontType.PROP20

Gambar yang sama seperti sebelumnya, dengan font Prop 30. Menunjukkan AZ dalam satu baris, hampir selebar layar. Di pojok kiri bawah tertulis 32 kolom dan 8 baris.
FontType.PROP30

Gambar yang sama seperti sebelumnya, dengan font Prop 40. Menampilkan AU dalam satu baris, membentang selebar layar. Di pojok kiri bawah tertulis 24 kolom dan 6 baris.
FontType.PROP40

Gambar yang sama seperti sebelumnya, dengan font Prop 60. Menampilkan AN dalam satu baris, membentang selebar layar. Di bagian bawah tertulis 15 kolom dan 4 baris.
FontType.PROP60

# Set the font type to MONO40
brain.screen.set_font(FontType.MONO40)
brain.screen.print("VEX")

Tangkapan layar dari layar V5 Brain menampilkan VEX berwarna putih di pojok kiri atas, dengan ukuran font lebih besar dari ukuran default.

set_pen_width#

set_pen_width mengatur ketebalan garis yang digambar dan garis luar bentuk.

Penggunaan:

brain.screen.set_pen_width(value)

Parameter

Keterangan

value

Lebar pena, dalam piksel, dari 0 hingga 32.

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

Tangkapan layar dari layar V5 Brain yang menunjukkan persegi panjang dengan batas tebal tercetak di kuadran kiri atas layar.

set_pen_color#

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

Penggunaan:

brain.screen.set_pen_color(color)

Parameter

Keterangan

color

Warna pena dan font yang akan digunakan. Pilihannya meliputi:

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

# Draw a rectangle with orange borders
brain.screen.set_pen_color(Color.ORANGE)
brain.screen.draw_rectangle(50, 50, 130, 60)

Tangkapan layar dari layar V5 Brain yang menunjukkan persegi panjang yang digambar dengan warna oranye di kuadran kiri atas layar.

set_fill_color#

set_fill_color mengatur warna isian yang digunakan saat bentuk digambar.

Penggunaan:

brain.screen.set_fill_color(color)

Parameter

Keterangan

color

Warna isian yang akan digunakan. Pilihannya meliputi:

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

# Draw a purple rectangle
brain.screen.set_fill_color(Color.PURPLE)
brain.screen.draw_rectangle(50, 130, 100, 60)

Tangkapan layar dari layar V5 Brain yang menunjukkan persegi panjang berisi warna ungu di kuadran kiri bawah layar.

set_origin#

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

Penggunaan:

brain.screen.set_origin(x, y)

Parameter

Keterangan

x

Koordinat x yang akan ditetapkan sebagai titik asal, dari 0 hingga 479.

y

Koordinat y yang akan ditetapkan sebagai titik asal, dari 0 hingga 239.

Menggambar#

draw_pixel#

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

Penggunaan:

brain.screen.draw_pixel(x, y)

Parameter

Keterangan

x

Koordinat x untuk menggambar piksel, dari 0 hingga 479, dengan acuan ke titik asal layar.

y

Koordinat y untuk menggambar piksel, dari 0 hingga 239, dengan acuan terhadap titik asal layar.

# Draw the pixels marking the corners of a square
brain.screen.draw_pixel(250, 100)
brain.screen.draw_pixel(275, 100)
brain.screen.draw_pixel(250, 125)
brain.screen.draw_pixel(275, 125)

Tangkapan layar dari layar V5 Brain yang menunjukkan berbagai piksel yang memperlihatkan sudut-sudut persegi di dekat tengah layar.

draw_line#

draw_line menggambar garis dari koordinat layar pertama ke koordinat layar kedua menggunakan lebar pena dan warna pena saat ini.

Penggunaan:

brain.screen.draw_line(start_x, start_y, end_x, end_y)

Parameter

Keterangan

start_x

Koordinat x dalam piksel dari awal baris, dari 0 hingga 479, dengan acuan ke titik asal layar.

start_y

Koordinat y dalam piksel dari awal garis, dari 0 hingga 239, dengan acuan ke titik asal layar.

end_x

Koordinat x dalam piksel dari ujung garis, dari 0 hingga 479, dengan acuan ke titik asal layar.

end_y

Koordinat y dalam piksel dari ujung garis, dari 0 hingga 239, dengan acuan terhadap titik asal layar.

# Draw a line from the top left to bottom right of the screen
brain.screen.draw_line(0, 0, 479, 239)

Tangkapan layar dari layar V5 Brain menunjukkan garis diagonal tipis di tengah, dari sudut kiri atas ke sudut kanan bawah.

draw_rectangle#

draw_rectangle menggambar persegi panjang menggunakan lebar pena, warna pena, dan warna isian saat ini, kecuali jika parameter opsional color digunakan.

Penggunaan:

brain.screen.draw_rectangle(x, y, width, height, color)

Parameter

Keterangan

x

Koordinat x dalam piksel dari sudut kiri atas persegi panjang, dari 0 hingga 479.

y

Koordinat y dalam piksel dari sudut kiri atas persegi panjang, dari 0 hingga 239.

width

Lebar persegi panjang.

height

Tinggi persegi panjang tersebut.

color

Opsional. Pilihan warna yang valid:

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

# Draw a rectangle on the screen
brain.screen.draw_rectangle(50, 50, 130, 60)

Tangkapan layar dari layar V5 Brain menunjukkan persegi panjang dengan batas putih tipis yang tercetak di kuadran kiri atas.

draw_circle#

draw_circle menggambar lingkaran menggunakan lebar pena, warna pena, dan warna isi saat ini, kecuali jika parameter opsional color digunakan.

Penggunaan:

brain.screen.draw_circle(x, y, radius, color)

Parameter

Keterangan

x

Koordinat x dalam piksel dari pusat lingkaran, dari 0 hingga 479, dengan acuan ke titik asal layar.

y

Koordinat y dalam piksel dari pusat lingkaran, dari 0 hingga 239, dengan acuan terhadap titik asal layar.

radius

Jari-jari lingkaran, dalam piksel.

color

Opsional. Warna isian yang akan digunakan. Pilihannya meliputi:

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

# Draw a circle on the screen
brain.screen.draw_circle(120, 120, 40)

Tangkapan layar dari layar V5 Brain menunjukkan lingkaran dengan garis putih tipis yang digambar di tengahnya.

render#

Perintah render mengaktifkan double buffering untuk layar Brain. Setelah dipanggil, perintah menggambar apa pun (seperti teks, bentuk, atau gambar) tidak akan langsung muncul lagi untuk sisa proyek. Sebaliknya, pembaruan hanya akan ditampilkan saat perintah render digunakan lagi. Ini memungkinkan pembaruan layar yang lebih halus dan terkontrol, tetapi berarti tidak ada yang akan terlihat sampai perintah render digunakan.

Penggunaan:

brain.screen.render()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

# Render text after moving
brain.screen.render()
brain.screen.print("Render later...")
drivetrain.drive_for(FORWARD, 100, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
brain.screen.render()

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.

Penggunaan:

brain.screen.set_clip_region(x, y, width, height)

Parameter

Keterangan

x

Posisi x dari sudut kiri atas persegi panjang, dengan acuan terhadap titik asal layar.

y

Posisi y dari sudut kiri atas persegi panjang, dengan acuan terhadap titik asal layar.

width

Lebar persegi panjang.

height

Tinggi persegi panjang tersebut.

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

Tangkapan layar dari layar V5 Brain dengan teks putih bertuliskan "Cut off" dengan kotak merah solid tepat di bawahnya, di kuadran kiri atas layar yang menunjukkan apa yang tercetak di dalam area klip.

Menyentuh#

pressing#

Menekan pressing akan mengembalikan nilai Boolean yang menunjukkan apakah layar Brain sedang ditekan atau tidak.

  • True - Layar sedang ditekan.

  • False - Layar tidak ditekan.

Penggunaan:

brain.screen.pressing()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

# Change the screen's color after it's pressed
while not brain.screen.pressing():
    wait(5, MSEC)
brain.screen.set_fill_color(Color.GREEN)
brain.screen.draw_rectangle(0, 0, 479, 239)

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

x_position#

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

Penggunaan:

brain.screen.x_position()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

# Display a circle where the screen is pressed
while not brain.screen.pressing():
    wait(5, MSEC)
brain.screen.set_fill_color(Color.WHITE)
brain.screen.draw_circle(brain.screen.x_position(), brain.screen.y_position(), 20)

y_position#

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

Penggunaan:

brain.screen.y_position()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

# Display a circle where the screen is pressed
while not brain.screen.pressing():
    wait(5, MSEC)
brain.screen.set_fill_color(Color.WHITE)
brain.screen.draw_circle(brain.screen.x_position(), brain.screen.y_position(), 20)

Panggilan balik#

pressed#

pressed mendaftarkan fungsi yang akan dipanggil saat Layar Otak ditekan.

Penggunaan:

brain.screen.pressed(callback, arg)

Parameter

Keterangan

callback

Sebuah fungsi yang telah didefinisikan sebelumnya yang akan dieksekusi ketika layar Brain ditekan.

arg

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

def my_function():
  brain.screen.print("Screen pressed")

# Call my_function whenever the Brain screen is pressed
brain.screen.pressed(my_function)

released#

released mendaftarkan sebuah fungsi yang akan dipanggil ketika layar dilepaskan (sentuhan dihilangkan).

Penggunaan:

brain.screen.released(callback, arg)

Parameter

Keterangan

callback

Sebuah fungsi yang telah didefinisikan sebelumnya yang akan dieksekusi ketika layar Brain dilepas.

arg

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

def my_function():
  brain.screen.print("Screen released")

# Call my_function whenever the Brain screen is released
brain.screen.released(my_function)