Obrazovka#

Zavedení#

Metody Screen řídí, jak V5 Brain zobrazuje text, čísla a grafiku na dotykové obrazovce a jak reaguje na dotykové ovládání.

Ve výchozím nastavení je pro tisk do Brainu použito písmo monospaced small, které má 12 řádků a 48 sloupců.

Pro kreslení je rozlišení Brainu 480 x 240 pixelů.

Obrazovka V5 Brain s červenými čarami mřížky zobrazující rozložení celkem 12 řádků a 48 sloupců. Rozměry v pixelech jsou 479 na šířku a 239 na výšku. Levý horní roh začíná na (0,0) pixelech a řádek 1, sloupec 1, zatímco pravý dolní roh končí na (479, 239) pixelech a řádek 12, sloupec 48.

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.

  • clear_line — Vymaže řádek textu.

  • new_line — Přesune kurzor na nový řádek.

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.

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

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

Gettery – Kontrola stavu a polohy dotyku.

  • pressing — Vrátí, zda je obrazovka stisknuta.

  • x_position — Vrátí souřadnici x posledního stisknutí obrazovky.

  • y_position — Vrátí souřadnici y posledního stisknutí obrazovky.

Zpětná volání – Reakce na dotykové události na obrazovce.

  • pressed — Registruje funkci, která se má volat při stisknutí obrazovky.

  • released — Registruje funkci, která se má volat při uvolnění obrazovky.

Informace o konstrukci mozku pro přístup k metodám obrazovky screen naleznete v Brain.

Tisk kurzoru#

print#

print vytiskne text, čísla nebo hodnoty proměnných na obrazovku Brain na aktuální pozici kurzoru a s aktuálním písmem.

Používání:

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

Parametry

Popis

text

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

sep

Volitelné. Řetězec, který se má vložit mezi hodnoty. Musí být zapsán jako klíčový argument (sep=). Výchozí hodnota je “”.

precision

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

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

Snímek obrazovky V5 Brain zobrazující v levém horním rohu bílý text „Hello Robot“.

set_cursor#

set_cursor přesune kurzor na konkrétní řádek a sloupec na obrazovce Brain. Další volání print začne tisknout v tomto místě. Kolik řádků a sloupců se pohodlně vejde, závisí na vybraném písmu. S výchozím písmem s pevnou šířkou a středním řádkem lze jasně zobrazit až 8 řádků a 13 sloupců. Text umístěný mimo tento rozsah může být oříznut nebo se může stát obtížně čitelným.

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.

Používání:

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.

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

Snímek obrazovky V5 Brain zobrazující řádek 3 a sloupec 12 vytištěný v horní části poblíž středu obrazovky, v dané pozici.

next_row#

next_row přesune kurzor na další řádek.

Používání:

brain.screen.next_row()

Parametry

Popis

Tato metoda nemá žádné parametry.

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

Snímek obrazovky V5 Brain zobrazující dva řádky bílého textu v levém horním rohu. Horní řádek zní jako Řádek 1 a druhý řádek přímo pod ním jako Řádek 2.

clear_row#

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

Používání:

brain.screen.clear_row(row, color)

Parametry

Popis

row

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

color

Volitelné. Platná hodnota color, hexadecimální hodnota nebo webový řetězec.

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

Používání:

brain.screen.row()

Parametry

Popis

Tato metoda nemá žádné parametry.

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

Snímek obrazovky V5 Brain zobrazující bílý text 3 v levém horním kvadrantu obrazovky, na pozici řádku 3 ve sloupci 2.

column#

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

Používání:

brain.screen.column()

Parametry

Popis

Tato metoda nemá žádné parametry.

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

Snímek obrazovky V5 Brain zobrazující bílý text 15 v levém horním kvadrantu obrazovky, na pozici 15 ve 3. řádku.

get_string_width#

get_string_width vrací šířku řetězce v pixelech jako celé číslo s použitím aktuálního fontu.

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 s použitím aktuálního fontu.

Usage:
brain.screen.get_string_height(string)

Parametry

Popis

string

Řetězec k měření.

clear_line#

clear_line vymaže aktuální řádek textu.

Usage: brain.screen.clear_line()

Parametry

Popis

Tato metoda nemá žádné parametry.

new_line#

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

Používání:

brain.screen.new_line()

Parametry

Popis

Tato metoda nemá žádné parametry.

Mutátory#

clear_screen#

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

Používání:

brain.screen.clear_screen(color)

Parametry

Popis

color

Volitelné. Platná barevná varianta:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.BLACK (Výchozí)
  • 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)

Snímek obrazovky V5 Brain s celou tisknutelnou plochou v jasně modré barvě.

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ý po spuštění této metody.

Používání:

brain.screen.set_font(font)

Parametry

Popis

font

Níže uvedená platná možnost písma.

Snímek obrazovky V5 Brain s čísly a písmeny vytištěnými bílou barvou v levém horním rohu písmem MONO 12. Zobrazuje AZ na jednom řádku, přibližně přes čtvrtinu šířky obrazovky. V levém dolním rohu je 80 sloupců a 20 řádků.
FontType.MONO12

Stejný obrázek jako předchozí, s fontem Mono 15. Zobrazuje AZ na jednom řádku, téměř přes polovinu šířky obrazovky. V levém dolním rohu je zobrazeno 68 sloupců a 16 řádků.
FontType.MONO15

Stejný obrázek jako předchozí, s fontem Mono 20. Zobrazuje AZ na jednom řádku, přes téměř dvě třetiny šířky obrazovky. V levém dolním rohu je zobrazeno 48 sloupců a 12 řádků.
FontType.MONO20

Stejný obrázek jako předchozí, s fontem Mono 30. Zobrazuje AZ na jednom řádku, téměř přes celou šířku obrazovky. V levém dolním rohu je zobrazeno 32 sloupců a 8 řádků.
FontType.MONO30

Stejný obrázek jako předchozí, s fontem Mono 40. Zobrazuje AX na jednom řádku, přes celou šířku obrazovky. V levém dolním rohu je 24 sloupců a 6 řádků.
FontType.MONO40

Stejný obrázek jako předchozí, s fontem Mono 60. Zobrazuje AP na jednom řádku, přes celou šířku obrazovky. Dole má 16 sloupců a 4 řádky.
FontType.MONO60

Stejný obrázek jako předchozí, s fontem Prop 20. Zobrazuje AZ na jednom řádku, přes téměř dvě třetiny šířky obrazovky. V levém dolním rohu je zobrazeno 48 sloupců a 12 řádků.
FontType.PROP20

Stejný obrázek jako předchozí, s fontem Prop 30. Zobrazuje AZ na jednom řádku, který zabírá téměř celou šířku obrazovky. V levém dolním rohu je zobrazeno 32 sloupců a 8 řádků.
FontType.PROP30

Stejný obrázek jako předchozí, s fontem Prop 40. Zobrazuje AU na jednom řádku, přes celou šířku obrazovky. V levém dolním rohu je zobrazeno 24 sloupců a 6 řádků.
FontType.PROP40

Stejný obrázek jako předchozí, s fontem Prop 60. Zobrazuje AN na jednom řádku, přes celou šířku obrazovky. Dole má 15 sloupců a 4 řádky.
FontType.PROP60

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

Snímek obrazovky V5 Brain ukazuje v levém horním rohu bílou barvu VEX, větším písmem než je výchozí nastavení.

set_pen_width#

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

Používání:

brain.screen.set_pen_width(value)

Parametry

Popis

value

Šířka pera v pixelech od 0 do 32.

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

Snímek obrazovky V5 Brain zobrazující obdélník s tlustými okraji vytištěnými v levém horním kvadrantu obrazovky.

set_pen_color#

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

Používání:

brain.screen.set_pen_color(color)

Parametry

Popis

color

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

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.TRANSPARENT
  • Color.WHITE
Můžete také zadat vlastní barvu.

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

Snímek obrazovky V5 Brain zobrazující oranžově nakreslený obdélník v levém horním kvadrantu obrazovky.

set_fill_color#

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

Používání:

brain.screen.set_fill_color(color)

Parametry

Popis

color

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

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.TRANSPARENT
  • Color.WHITE
Můžete také zadat vlastní barvu.

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

Snímek obrazovky V5 Brain zobrazující obdélník vyplněný fialovou barvou v levém dolním kvadrantu 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.

Používání:

brain.screen.set_origin(x, y)

Parametry

Popis

x

Souřadnice x, která se má nastavit jako počátek, od 0 do 479.

y

Souřadnice y, která se má nastavit jako počátek, od 0 do 239.

Remíza#

draw_pixel#

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

Používání:

brain.screen.draw_pixel(x, y)

Parametry

Popis

x

Souřadnice x pro vykreslení pixelu, od 0 do 479, vztažená k počátku obrazovky.

y

Souřadnice y pro vykreslení pixelu, od 0 do 239, vztažená k počátku obrazovky.

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

Snímek obrazovky V5 Brain zobrazující směs pixelů znázorňujících rohy čtverce poblíž středu obrazovky.

draw_line#

draw_line nakreslí čáru od první souřadnice obrazovky k druhé souřadnici obrazovky s použitím aktuální šířky a barvy pera.

Používání:

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

Parametry

Popis

start_x

Souřadnice x začátku řádku v pixelech, od 0 do 479, vztažená k počátku obrazovky.

start_y

Souřadnice y začátku řádku v pixelech, od 0 do 239, vztažená k počátku obrazovky.

end_x

Souřadnice x konce řádku v pixelech, od 0 do 479, vztažená k počátku obrazovky.

end_y

Souřadnice y konce řádku v pixelech, od 0 do 239, vztažená k počátku obrazovky.

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

Snímek obrazovky V5 Brain ukazuje tenkou diagonální čáru přes střed, od levého horního rohu k pravému dolnímu rohu.

draw_rectangle#

draw_rectangle nakreslí obdélník s použitím aktuální šířky pera, barvy pera a barvy výplně, pokud není použit volitelný parametr color.

Používání:

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

Parametry

Popis

x

Souřadnice x levého horního rohu obdélníku v pixelech od 0 do 479.

y

Souřadnice y levého horního rohu obdélníku v pixelech od 0 do 239.

width

Šířka obdélníku.

height

Výška obdélníku.

color

Volitelné. Platná barevná varianta:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.TRANSPARENT
  • Color.WHITE
Můžete také zadat vlastní barvu.

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

Snímek obrazovky V5 Brain ukazuje obdélník s tenkým bílým okrajem vytištěným v levém horním kvadrantu.

draw_circle#

draw_circle nakreslí kruh s použitím aktuální šířky pera, barvy pera a barvy výplně, pokud není použit volitelný parametr color.

Používání:

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

Parametry

Popis

x

Souřadnice x středu kruhu v pixelech, od 0 do 479, vztažená k počátku obrazovky.

y

Souřadnice y středu kruhu v pixelech, od 0 do 239, vztažená k počátku obrazovky.

radius

Poloměr kruhu v pixelech.

color

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

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.TRANSPARENT
  • Color.WHITE
Můžete také zadat vlastní barvu.

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

Snímek obrazovky V5 Brain ukazuje kruh s tenkým bílým okrajem uprostřed.

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.

Používání:

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

set_clip_region#

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

Používání:

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

Parametry

Popis

x

Pozice x levého horního rohu obdélníku vztažená k počátku obrazovky.

y

Pozice y levého horního rohu obdélníku vztažená k počátku obrazovky.

width

Šířka obdélníku.

height

Výška obdélníku.

# 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 V5 Brain s bílým textem „Cut“ (Vyříznutý) a plným červeným čtvercem přímo pod ním, v levém horním kvadrantu obrazovky zobrazujícím, co se tiskne v oblasti oříznutí.

Dotek#

pressing#

pressing vrací booleovskou hodnotu označující, zda je obrazovka Brain aktuálně stisknuta.

  • True - Probíhá stisknutí obrazovky.

  • False - Obrazovka není stisknuta.

Používání:

brain.screen.pressing()

Parametry

Popis

Tato metoda nemá žádné parametry.

# 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 vrací souřadnici x posledního stisknutí obrazovky jako celé číslo od 0 (vlevo) do 479 (vpravo).

Používání:

brain.screen.x_position()

Parametry

Popis

Tato metoda nemá žádné parametry.

# 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 vrací souřadnici y posledního stisknutí obrazovky jako celé číslo od 0 (nahoře) do 239 (dole).

Používání:

brain.screen.y_position()

Parametry

Popis

Tato metoda nemá žádné parametry.

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

Zpětná volání#

pressed#

pressed registruje funkci, která se má zavolat při stisknutí obrazovky mozku.

Používání:

brain.screen.pressed(callback, arg)

Parametry

Popis

callback

Dříve definovaná funkce, která se provede při stisknutí obrazovky Brain.

arg

Volitelné. N-tice tuple obsahující argumenty, které se mají předat zpětné funkci. Další informace naleznete v části Použití funkcí s parametry.

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

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

released#

released registruje funkci, která se má volat při uvolnění obrazovky (odstranění dotyku).

Používání:

brain.screen.released(callback, arg)

Parametry

Popis

callback

Dříve definovaná funkce, která se provede po uvolnění obrazovky Brain.

arg

Volitelné. N-tice tuple obsahující argumenty, které se mají předat zpětné funkci. Další informace naleznete v části Použití funkcí s parametry.

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

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