Layar#

Perkenalan#

Metode Layar mengontrol bagaimana IQ (generasi ke-2) Brain menampilkan teks, angka, dan grafik pada layar bawaannya.

Untuk menggambar, resolusi Brain adalah 160 x 108 piksel.

Halaman ini menggunakan brain sebagai contoh nama Brain. Ganti dengan nama yang Anda konfigurasi sendiri sesuai kebutuhan.

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.

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.

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

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

Cetak Kursor#

print#

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

Usage:
brain.screen.print(text, precision, opaque)

Parameter

Keterangan

text

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

precision

Opsional. Jumlah tempat desimal yang akan ditampilkan saat menampilkan angka. Ini harus ditulis sebagai argumen kata kunci, misalnya:precision=3. Nilai default adalah 2.

opaque

Opsional. opaque=True — Latar belakang teks akan diisi dengan warna isi saat ini atau hitam secara default. opaque=False (default) — Latar belakang teks akan sesuai dengan warna latar belakang layar.

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

Tangkapan layar VEX IQ Brain menampilkan tulisan "Hello, Robot!" berwarna putih di baris pertama.

# Display a percentage with 4 decimal
# places and a blue background
brain.screen.set_fill_color(Color.BLUE)
brain.screen.print((42/100), precision = 4, opaque = True)

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 muat dengan nyaman bergantung pada font yang dipilih.

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:
brain.screen.set_cursor(row, column)

Parameter

Keterangan

row

Baris tempat kursor akan dipindahkan.

column

Kolom tempat kursor akan dipindahkan.

# Repeatedly print the Brain's timer at
# the top left of the screen
while True:
    brain.screen.print(brain.timer.time(SECONDS))
    brain.screen.next_row()
    wait(1, SECONDS)
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)

Tangkapan layar IQ Brain menampilkan angka 23.19 dalam teks putih di pojok kiri atas.

next_row#

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

Usage:
brain.screen.next_row()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

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

Tangkapan layar IQ Brain menampilkan Baris 1 dalam teks putih di pojok kiri atas, dan Baris 2 tepat di bawahnya.

clear_row#

clear_row menghapus satu baris teks pada layar Brain.

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

Parameter

Keterangan

baris

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

warna

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

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
Anda juga dapat menentukan warna khusus.

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

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

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

row#

row mengembalikan baris tempat teks akan dicetak sebagai bilangan bulat.

Usage:
brain.screen.row()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

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

Tangkapan layar IQ Brain dengan angka 3 berwarna putih tercetak di paling kiri layar, berpusat secara vertikal, pada posisi baris 3 kolom 2.

column#

column mengembalikan kolom tempat teks akan dicetak sebagai bilangan bulat.

Usage:
brain.screen.column()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

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

Tangkapan layar IQ Brain dengan angka 2 berwarna putih tercetak di paling kiri layar, berpusat secara vertikal, pada posisi baris 3 kolom 2.

get_string_width#

get_string_width mengembalikan lebar string dalam piksel sebagai bilangan bulat, seperti yang akan muncul di layar Brain. Lebarnya bervariasi tergantung pada panjang string dan 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, seperti yang akan muncul di layar Brain. Tingginya bervariasi tergantung pada panjang string dan font saat ini.

Usage:
brain.screen.get_string_height(string)

Parameter

Keterangan

string

Tali untuk mengukur.

Mutator#

clear_screen#

clear_screen menghapus semua gambar dan teks dari layar Otak.

Usage:
brain.screen.clear_screen(color)

Parameter

Keterangan

color

Opsional. Mengatur warna layar. Pilihan meliputi:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
Anda juga dapat menentukan warna khusus.

# Draw a circle and clear it after 
# 2 seconds
brain.screen.draw_circle(80, 50, 20)
wait(2, SECONDS)
brain.screen.clear_screen()

# Turn the screen red
brain.screen.clear_screen(Color.RED)

Tangkapan layar IQ Brain dengan seluruh area yang dapat dicetak berwarna merah terang.

set_font#

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

Usage:
brain.screen.set_font(fontname)

Parameter

Keterangan

fontname

Sets the font to one of the following:

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

Tangkapan layar VEX IQ Brain dengan serangkaian angka dan huruf dalam font Mono 12. Huruf AZ berada dalam satu baris, membentang selebar layar. Sudut kiri bawah menunjukkan 26 karakter mendatar dan 9 baris.
MONO12

Tangkapan layar yang sama seperti sebelumnya, sekarang dengan font Mono 15. Huruf AT berada dalam satu baris, membentang selebar layar. Sudut kiri bawah menunjukkan 20 karakter mendatar dan 7 baris.
MONO15

Tangkapan layar yang sama seperti sebelumnya, sekarang dengan font Mono 20. Huruf AP berada dalam satu baris, membentang selebar layar. Sudut kiri bawah menunjukkan 16 karakter mendatar dan 5 baris.
MONO20

Tangkapan layar yang sama seperti sebelumnya, sekarang dengan font Mono 30. Angka 1 sampai 9 dan angka 0 tambahan berada dalam satu baris, membentang selebar layar. Sudut kiri bawah menunjukkan 3 baris.
MONO30

Tangkapan layar yang sama seperti sebelumnya, sekarang dengan font Mono 40. Angka 1 sampai 8 berada di baris kedua, membentang selebar layar.
MONO40

Tangkapan layar yang sama seperti sebelumnya, sekarang dengan font Mono 60. Layar menunjukkan MN 60 dalam font besar, hampir memenuhi seluruh bagian atas layar.
MONO60

Tangkapan layar yang sama seperti sebelumnya, sekarang dengan font Prop 20. Huruf AW berada dalam satu baris, membentang selebar layar. Sudut kiri bawah menunjukkan 26 karakter mendatar dan 5 baris.
PROP20

Tangkapan layar yang sama seperti sebelumnya, sekarang dengan font Prop 30. Angka 1-9 diulang dua kali dalam satu baris, membentang selebar layar. Sudut kiri bawah menunjukkan 18 karakter mendatar dan 3 baris.
PROP30

Tangkapan layar yang sama seperti sebelumnya, sekarang dengan font Prop 40. Layar menampilkan Prop 40 di baris atas dan menunjukkan 14 karakter dan 2 baris di baris kedua.
PROP40

Tangkapan layar yang sama seperti sebelumnya, sekarang dengan font Prop 60. Layar menampilkan tulisan PROP 60 dalam font besar, hampir memenuhi seluruh bagian atas layar.
PROP60

# Display two different fonts on 
# two separate lines
brain.screen.set_font(FontType.MONO20)
brain.screen.print("Mono Medium")
brain.screen.next_row()
brain.screen.set_font(FontType.PROP20)
brain.screen.print("Prop Medium")

Tangkapan layar IQ Brain dengan teks putih dalam dua baris di pojok kiri atas. Baris pertama bertuliskan Mono Medium dan baris kedua tepat di bawahnya bertuliskan Prop Medium dengan ukuran font lebih kecil.

set_pen_width#

set_pen_width mengatur ketebalan garis yang digambar dan garis luar bentuk.

Usage:
brain.screen.set_pen_width(width)

Parameter

Keterangan

width

Lebar pena, dalam piksel, dari 0 hingga 32.

# Draw two circles with
# different pen widths
brain.screen.draw_circle(40, 70, 20)
brain.screen.set_pen_width(5)
brain.screen.draw_circle(100, 70, 20)

Tangkapan layar IQ Brain dengan dua lingkaran putih tercetak di bagian bawah layar. Lingkaran di sebelah kiri digambar dengan batas yang lebih sempit daripada yang di sebelah kanan.

set_pen_color#

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

Usage:
brain.screen.set_pen_color(color)

Parameter

Keterangan

color

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

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
Anda juga dapat menentukan warna khusus.

# Draw two rectangles with
# different colors
brain.screen.draw_rectangle(100, 50, 10, 20)
brain.screen.set_pen_color(Color.BLUE)
brain.screen.draw_rectangle(50, 50, 10, 20)

Tangkapan layar IQ Brain dengan dua persegi panjang kecil yang digambar di bagian bawah layar. Persegi panjang di sebelah kiri berwarna biru, dan yang di sebelah kanan berwarna putih.

set_fill_color#

set_fill_color mengatur warna isian yang digunakan saat bentuk digambar.

Usage:
brain.screen.set_fill_color(color)

Parameter

Keterangan

color

Opsional. Warna isian yang akan digunakan. Pilihan meliputi:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
Anda juga dapat menentukan warna khusus.

# Draw a yellow circle
brain.screen.set_fill_color(Color.YELLOW)
brain.screen.draw_circle(50, 50, 20)

Tangkapan layar IQ Brain dengan lingkaran kuning terang berbingkai putih tipis yang digambar di sisi kiri 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.

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

Parameter

Keterangan

x

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

y

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

# Draw a line with the origin set to (50, 50)
brain.screen.set_origin(50, 50)
brain.screen.draw_line(1, 1, 159, 107)

Tangkapan layar IQ Brain dengan garis putih yang dimulai sedikit di sebelah kiri tengah dan memanjang secara diagonal ke bawah ke kanan menuju sudut kanan bawah layar.

Menggambar#

draw_pixel#

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

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

Parameter

Keterangan

x

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

y

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

# Draw one pixel at the center
# of the screen
brain.screen.draw_pixel(80, 50)

Tangkapan layar IQ Brain dengan titik putih kecil di tengah layar.

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

Parameter

Keterangan

x1

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

y1

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

x2

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

y2

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

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

Tangkapan layar IQ Brain dengan garis diagonal putih 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:
brain.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 159.

y

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

width

Lebar persegi panjang, dalam piksel.

height

Tinggi persegi panjang, dalam piksel.

color

Opsional. Warna isian persegi panjang. Pilihan meliputi:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
Anda juga dapat menentukan warna khusus.

# Draw a red rectangle on the screen
brain.screen.draw_rectangle(25, 25, 100, 50, Color.RED)

Tangkapan layar IQ Brain dengan persegi panjang merah besar dengan garis tepi putih tipis yang digambar hampir di tengah 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:
brain.screen.draw_circle(x, y, radius, color)

Parameter

Keterangan

x

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

y

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

radius

Jari-jari lingkaran, dalam piksel.

color

Opsional. Warna isi lingkaran. Pilihan meliputi:

  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
  • Color.YELLOW_ORANGE
Anda juga dapat menentukan warna khusus.

# Draw a green circle on the screen
brain.screen.draw_circle(80, 50, 20, Color.GREEN)

Tangkapan layar IQ Brain dengan lingkaran hijau solid dengan garis putih tipis di tengah layar.

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:
brain.screen.set_clip_region(x, y, width, height)

Parameter

Keterangan

x

Koordinat x dari sudut kiri atas wilayah klip, diberikan sebagai bilangan bulat atau bilangan pecahan dari 0 hingga 159.

y

Koordinat y dari sudut kiri atas wilayah klip, diberikan sebagai bilangan bulat atau bilangan pecahan dari 0 hingga 107.

width

Lebar area pemotongan dalam piksel.

height

Tinggi area pemotongan dalam piksel.

# 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 IQ Brain dengan teks putih di dekat tengah layar yang bertuliskan Cut of, dengan persegi merah solid tepat di bawahnya, menunjukkan apa yang tercetak di area klip.

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.

Usage:
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()