Obrazovka#

Zavedení#

Metody obrazovky ovládají, jak IQ (2. generace) Brain zobrazuje text, čísla a grafiku na své vestavěné obrazovce.

Pro kreslení je rozlišení Brainu 160 x 108 pixelů.

Tato stránka používá jako příklad názvu Brain brain V případě potřeby jej nahraďte vlastním nakonfigurovaným názvem.

Níže je uveden seznam všech metod:

Tisk kurzorem – Umístění a tisk textu.

  • print — Vypíše text, čísla nebo hodnoty proměnných na aktuální pozici kurzoru.

  • set_cursor — Přesune kurzor na konkrétní řádek a sloupec.

  • next_row — Přesune kurzor do sloupce 1 dalšího řádku.

  • clear_row — Vymaže řádek textu.

  • row — Vrátí řádek, kam bude vytištěn text.

  • column — Vrátí sloupec, kam bude vytištěn text.

  • print_at — Vypíše text, čísla nebo hodnoty proměnných na zadané souřadnici x a y.

  • get_string_width — Vrátí šířku řetězce v pixelech s použitím aktuálního písma.

  • get_string_height — Vrátí výšku řetězce v pixelech s použitím aktuálního písma.

Mutátory – Změňte nastavení obrazovky, barvy a chování při kreslení.

  • clear_screen — Vymaže obrazovku od všech kreseb a textu.

  • set_font — Nastaví písmo pro tištěný text.

  • set_pen_width — Nastaví tloušťku nakreslených čar a obrysů tvarů.

  • set_pen_color — Nastaví barvu textu, pixelů, čar a obrysů tvarů.

  • set_fill_color — Nastaví barvu výplně pro nakreslené tvary a tištěné textové pozadí.

  • set_origin — Nastaví počátek použitý pro tisk a kreslení na základě souřadnic.

Kreslení – Přidání grafiky na obrazovku.

  • draw_pixel — Nakreslí jeden pixel na zadané souřadnici.

  • draw_line — Nakreslí čáru mezi dvěma body.

  • draw_rectangle — Nakreslí obdélník.

  • draw_circle — Nakreslí kruh.

  • set_clip_region — Omezuje, kde se mohou zobrazovat kresby a text.

  • render — Aktualizuje obrazovku Brainu textem a kresbami pouze při volání.

Tisk kurzoru#

print#

print vytiskne text, čísla nebo hodnoty proměnných na obrazovce Brain v aktuální poloze kurzoru a fontu.

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

Parametry

Popis

text

Text, číslo nebo hodnota proměnné, která se má vytisknout na obrazovku.

precision

Volitelné. Počet desetinných míst, která se mají zobrazit při zobrazení čísel. Musí být zapsán jako klíčový argument, např.:precision=3. Výchozí hodnota je 2.

opaque

Volitelné. opaque=True — Pozadí textu bude vyplněno aktuální barvou výplně nebo ve výchozím nastavení černou. opaque=False (výchozí) — Pozadí textu bude odpovídat barvě pozadí obrazovky.

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

Snímek obrazovky VEX IQ Brain s bílým textem na prvním řádku.

# 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 přesune kurzor na konkrétní řádek a sloupec na obrazovce Brain. Další volání print začne tisknout na tomto místě. Kolik řádků a sloupců se pohodlně vejde, závisí na vybraném písmu.

Monospaced fonty mají všechny znaky stejně široké, což zajišťuje konzistentní umístění textu. Naproti tomu proporcionální fonty se liší šířkou znaků, takže některá písmena zabírají více místa než jiná. Bez ohledu na použitý typ však set_cursor umisťuje kurzor na základě velikosti řádku a sloupce, nikoli stylu písma. Velikost písma lze upravit pomocí set_font.

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

Parametry

Popis

row

Řádek, na který se má kurzor přesunout.

column

Sloupec, do kterého se má kurzor přesunout.

# 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)

Snímek obrazovky IQ Brain ukazuje v levém horním rohu bílý text 23,19.

next_row#

next_row přesune kurzor do sloupce 1 na dalším řádku na obrazovce Brain.

Usage:
brain.screen.next_row()

Parametry

Popis

Tato metoda nemá žádné parametry.

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

Snímek obrazovky IQ Brain ukazuje v levém horním rohu bílý text na řádku 1 a přímo pod ním na řádku 2.

clear_row#

clear_row vymaže jeden řádek textu na obrazovce Brain.

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

Parametry

Popis

řádek

Volitelné. Řádek, který se má vymazat. Výchozí hodnota je aktuální řádek kurzoru.

barva

Volitelné. Barva, která se má použít na vymazaný řádek. Možnosti zahrnují:

  • 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
Můžete také zadat vlastní barvu.

# 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 vrací řádek, kde bude text vytištěn jako celé číslo.

Usage:
brain.screen.row()

Parametry

Popis

Tato metoda nemá žádné parametry.

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

Snímek obrazovky IQ Brain s bílým číslem 3 vytištěným na levé straně obrazovky, svisle vycentrovaným, na pozici řádku 3, sloupce 2.

column#

column vrací sloupec, kam bude text vytištěn jako celé číslo.

Usage:
brain.screen.column()

Parametry

Popis

Tato metoda nemá žádné parametry.

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

Snímek obrazovky IQ Brain s bílým číslem 2 vytištěným na levé straně obrazovky, svisle vycentrovaným, na pozici řádku 3, sloupce 2.

get_string_width#

get_string_width vrací šířku řetězce v pixelech jako celé číslo, jak by se zobrazoval na obrazovce Brainu. Šířka se liší v závislosti na délce řetězce a aktuálním písmu.

Usage:
brain.screen.get_string_width(string)

Parametry

Popis

string

Řetězec k měření.

get_string_height#

get_string_height vrací výšku řetězce v pixelech jako celé číslo, jak by se zobrazoval na obrazovce Brain. Výška se liší v závislosti na délce řetězce a aktuálním písmu.

Usage:
brain.screen.get_string_height(string)

Parametry

Popis

string

Řetězec k měření.

Mutátory#

clear_screen#

clear_screen vymaže všechny kresby a text z obrazovky mozku.

Usage:
brain.screen.clear_screen(color)

Parametry

Popis

color

Volitelné. Nastaví barvu obrazovky. Možnosti zahrnují:

  • 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
Můžete také zadat vlastní barvu.

# 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)

Snímek obrazovky IQ Brain s celou tisknutelnou plochou jasně červenou.

set_font#

set_font nastavuje písmo použité pro zobrazení textu na obrazovce Brain. Toto písmo se použije na veškerý text vytištěný pomocí print nebo print_at. Výchozí písmo na začátku projektu je MONO20.

Usage:
brain.screen.set_font(fontname)

Parametr

Popis

fontname

Nastaví písmo na jednu z následujících možností:

  • MONO12
  • MONO15
  • MONO20
  • MONO30
  • MONO40
  • MONO60
  • PROP20
  • PROP30
  • PROP40
  • PROP60
Tyto možnosti jsou zobrazeny níže.

Snímek obrazovky VEX IQ Brain s řadou čísel a písmen v písmu Mono 12. Písmena AZ jsou na jednom řádku a zabírají celou šířku obrazovky. Levý dolní roh označuje 26 znaků napříč a 9 řádků.
MONO12

Stejný snímek obrazovky jako předchozí, nyní s písmem Mono 15. Písmena AT jsou na jednom řádku a zabírají celou šířku obrazovky. Levý dolní roh označuje 20 znaků na šířku a 7 řádků.
MONO15

Stejný snímek obrazovky jako předchozí, nyní s písmem Mono 20. Písmena AP jsou na jednom řádku a zabírají celou šířku obrazovky. Levý dolní roh označuje 16 znaků na šířku a 5 řádků.
MONO20

Stejný snímek obrazovky jako předchozí, nyní s písmem Mono 30. Čísla od 1 do 9 a jedna 0 navíc jsou na jednom řádku a zabírají celou šířku obrazovky. Levý dolní roh označuje 3 řádky.
MONO30

Stejný snímek obrazovky jako předchozí, nyní s písmem Mono 40. Čísla 1 až 8 jsou na druhém řádku a rozprostírají se po celé šířce obrazovky.
MONO40

Stejný snímek obrazovky jako předchozí, nyní s písmem Mono 60. Na obrazovce je zobrazeno MN 60 velkým písmem, které zabírá téměř celou horní polovinu obrazovky.
MONO60

Stejný snímek obrazovky jako předchozí, nyní s fontem Prop 20. Písmena AW jsou na jednom řádku a zabírají celou šířku obrazovky. Levý dolní roh označuje 26 znaků na šířku a 5 řádků.
PROP20

Stejný snímek obrazovky jako předchozí, nyní s fontem Prop 30. Čísla 1-9 se opakují dvakrát na jednom řádku a zabírají celou šířku obrazovky. Levý dolní roh označuje 18 znaků napříč a 3 řádky.
PROP30

Stejný snímek obrazovky jako předchozí, nyní s písmem Prop 40. Na horním řádku obrazovky je uvedeno Prop 40 a na druhém řádku je 14 znaků a 2 řádky.
PROP40

Stejný snímek obrazovky jako předchozí, nyní s písmem Prop 60. Na obrazovce je velkým písmem zobrazeno PROP 60, které zabírá téměř celou horní polovinu obrazovky.
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")

Snímek obrazovky IQ Brain s bílým textem na dvou řádcích v levém horním rohu. První řádek zní Mono Medium a druhý řádek přímo pod ním zní Prop Medium menším písmem.

set_pen_width#

set_pen_width nastavuje tloušťku kreslených čar a obrysů tvarů.

Usage:
brain.screen.set_pen_width(width)

Parametr

Popis

width

Šířka pera v pixelech od 0 do 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)

Snímek obrazovky IQ Brain se dvěma bílými kruhy vytištěnými v dolní polovině obrazovky. Kruh vlevo má užší okraj než kruh vpravo.

set_pen_color#

set_pen_color nastavuje barvu textu, pixelů, čar a obrysů tvarů.

Usage:
brain.screen.set_pen_color(color)

Parametr

Popis

color

Volitelné. Barva pera a písma, která se má použít. Možnosti zahrnují:

  • 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
Můžete také zadat vlastní barvu.

# 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)

Snímek obrazovky IQ Brain se dvěma malými obdélníky nakreslenými v dolní polovině obrazovky. Obdélník vlevo je modrý a obdélník vpravo bílý.

set_fill_color#

set_fill_color nastavuje barvu výplně použitou při kreslení tvarů.

Usage:
brain.screen.set_fill_color(color)

Parametr

Popis

color

Volitelné. Barva výplně, která se má použít. Možnosti zahrnují:

  • 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
Můžete také zadat vlastní barvu.

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

Snímek obrazovky IQ Brain s jasně žlutým kruhem s tenkým bílým okrajem nakresleným v levé polovině obrazovky.

set_origin#

set_origin nastavuje počátek používaný pro kreslení a tisk na základě souřadnic na obrazovce Brain. Ve výchozím nastavení je počátkem levý horní roh obrazovky.

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

Parametr

Popis

x

Nová souřadnice x, která se má nastavit jako počátek, zadaná jako celé číslo od 0 do 159.

y

Nová souřadnice y, která se má nastavit jako počátek, zadaná jako celé číslo od 0 do 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)

Snímek obrazovky IQ Brain s čárou while začínající mírně vlevo od středu a sahající diagonálně dolů doprava směrem k pravému dolnímu rohu obrazovky.

Remíza#

draw_pixel#

draw_pixel nakreslí jeden pixel na vybrané souřadnici x a y s použitím aktuální barvy pera.

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

Parametr

Popis

x

Souřadnice x, kde bude pixel vykreslen, zadaná jako celé číslo od 0 do 159.

y

Souřadnice y, kde bude pixel vykreslen, zadaná jako celé číslo od 0 do 107.

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

Snímek obrazovky IQ Brain s malou bílou tečkou uprostřed obrazovky.

draw_line#

draw_line nakreslí čáru z první souřadnice obrazovky (x1, y1) do druhé souřadnice obrazovky (x2, y2) s použitím aktuální šířky pera a barvy pera.

Souřadnice x a y používají výchozí počátek (0, 0), pokud nebyl nastaven jiný počátek pomocí set_origin.

Usage:
brain.screen.draw_line(x1, y1, x2, y2)

Parametr

Popis

x1

Počáteční souřadnice x čáry, zadaná jako celé číslo od 0 do 159.

y1

Počáteční souřadnice y čáry, zadaná jako celé číslo od 0 do 107.

x2

Koncová souřadnice x řádku, zadaná jako celé číslo od 0 do 159.

y2

Koncová souřadnice y čáry, zadaná jako celé číslo od 0 do 107.

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

Snímek obrazovky IQ Brain s bílou diagonální čarou nakreslenou z levého horního rohu do pravého dolního rohu.

draw_rectangle#

draw_rectangle nakreslí obdélník s levým horním rohem na vybrané souřadnici (x, y) a velikostí určenou danou šířkou a výškou, vše měřeno v pixelech. Obrys obdélníku se nakreslí s použitím aktuální šířky pera (pen width a barvy pera (pen color. Vnitřek se vyplní aktuální barvou výplně (fill color, pokud se nepoužije volitelný parametr color.

Souřadnice x a y používají výchozí počátek (0,0), pokud nebyl nastaven jiný počátek pomocí set_origin.

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

Parametr

Popis

x

Souřadnice x levého horního rohu obdélníku, zadaná jako celé číslo od 0 do 159.

y

Souřadnice y levého horního rohu obdélníku, zadaná jako celé číslo od 0 do 107.

width

Šířka obdélníku v pixelech.

height

Výška obdélníku v pixelech.

color

Volitelné. Barva výplně obdélníku. Možnosti zahrnují:

  • 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
Můžete také zadat vlastní barvu.

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

Snímek obrazovky IQ Brain s velkým červeným obdélníkem s tenkým bílým okrajem nakresleným téměř uprostřed obrazovky.

draw_circle#

draw_circle nakreslí kružnici se středem na vybrané souřadnici (x, y) a velikostí určenou daným poloměrem, vše měřeno v pixelech. Obrys kružnice se nakreslí s použitím aktuální šířky pera (pen width a barvy pera (pen color. Vnitřek se vyplní aktuální barvou výplně (fill color, pokud není použit volitelný parametr color.

Souřadnice x a y používají výchozí počátek (0,0), pokud nebyl nastaven jiný počátek pomocí set_origin.

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

Parametr

Popis

x

Souřadnice x středu kružnice, zadaná jako celé číslo od 0 do 159.

y

Souřadnice y středu kružnice, zadaná jako celé číslo od 0 do 107.

radius

Poloměr kruhu v pixelech.

color

Volitelné. Barva výplně kruhu. Možnosti zahrnují:

  • 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
Můžete také zadat vlastní barvu.

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

Snímek obrazovky IQ Brain s plným zeleným kruhem s tenkým bílým okrajem uprostřed obrazovky.

set_clip_region#

set_clip_region definuje obdélníkovou oblast na obrazovce, kde budou umístěny všechny kresby a text. Obsah mimo tuto oblast se nezobrazí.

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

Parametr

Popis

x

Souřadnice x levého horního rohu oblasti klipu, zadaná jako celé číslo nebo číslo s desetinnou čárkou od 0 do 159.

y

Souřadnice y levého horního rohu oblasti klipu, zadaná jako celé číslo nebo číslo s desetinnou čárkou od 0 do 107.

width

Šířka oblasti klipu v pixelech.

height

Výška oblasti klipu v pixelech.

# 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)

Snímek obrazovky IQ Brain s bílým textem poblíž středu obrazovky s nápisem Vystřiženo a pod ním plným červeným čtvercem zobrazujícím, co se vytiskne v oblasti oříznutí.

render#

render povoluje dvojité ukládání do vyrovnávací paměti pro obrazovku Brainu. Po zavolání se žádné příkazy pro kreslení (jako text, tvary nebo obrázky) již nebudou okamžitě zobrazovat po zbytek projektu. Místo toho se aktualizace zobrazí pouze při opětovném použití render To umožňuje plynulejší a kontrolovanější aktualizace obrazovky, ale znamená to, že nic nebude viditelné, dokud se nepoužije render.

Usage:
brain.screen.render()

Parametry

Popis

Tato metoda nemá žádné parametry.

# 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()