Obrazovka#
Zavedení#
Metody Screen řídí, jak kódovací robot VEX AIM zobrazuje text, čísla a grafiku na obrazovce a jak reaguje na stisknutí kláves na obrazovce.
Níže je uveden seznam všech metod:
Dotyk – Detekce a reakce na stisknutí obrazovky.
pressing– Vrátí, zda je obrazovka aktuálně stisknuta.x_position– Vrací souřadnici x posledního stisknutí obrazovky.y_position– Vrací souřadnici y posledního stisknutí obrazovky.
Tisk kurzoru – Zobrazení textu pomocí systému řádků/sloupců.
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.get_row– Vrátí aktuální řádek kurzoru.get_column– Vrátí aktuální sloupec kurzoru.
XY tisk – zobrazení textu na určité souřadnici obrazovky.
print_at– Vypíše text, čísla nebo hodnoty proměnných na zadané souřadnici x a y.set_origin– Nastaví počátek použitý pro tisk a kreslení na základě souřadnic.
Mutátory – Vyčistěte obrazovku nebo aktualizujte vizuální nastavení.
clear_screen– Vymaže obrazovku od všech kreseb a textu.set_font– Nastaví písmo pro tištěný text.set_pen_width– Nastavuje 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í.
Kreslení – Přidání grafiky a obrázků na obrazovku.
draw_pixel– Nakreslí pixel na specifické pozici x a y.draw_line– Nakreslí čáru mezi dvěma body.draw_rectangle– Nakreslí obdélník.draw_circle– Nakreslí kruh.show_file– Zobrazí nahraný obrázek.set_clip_region– Omezuje, kde se mohou zobrazovat kresby a text.
Zpětná volání – Spouštějí funkce při stisknutí nebo uvolnění obrazovky.
Dotek#
pressing#
pressing vrací booleovskou hodnotu označující, zda je obrazovka robota aktuálně stisknuta.
True– Probíhá stisknutí tlačítka na obrazovce.False– Obrazovka není stisknuta.
Usage:
robot.screen.pressing()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# 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 vrací souřadnici x posledního stisknutí obrazovky jako celé číslo od 0 (vlevo) do 240 (vpravo).
Usage:robot.screen.x_position()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# 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 vrací souřadnici y posledního stisknutí obrazovky jako celé číslo od 0 (nahoře) do 240 (dole).
Usage:robot.screen.y_position()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# 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)
Tisk kurzoru#
print#
print vytiskne text, čísla nebo hodnoty proměnných na obrazovku robota v aktuální poloze kurzoru a fontu.
Usage:robot.screen.print(text)
Parametry |
Popis |
|---|---|
|
Text, číslo nebo hodnota proměnné, která se má zobrazit na obrazovce. |
# Display a message at the starting cursor position
robot.screen.print("Hello, Robot!")

set_cursor#
set_cursor přesune textový kurzor na konkrétní řádek a sloupec na obrazovce robota. Další volání print začne tisknout v tomto místě. Počet řádků a sloupců, které se vejdou, závisí na vybraném písmu. S výchozím písmem s pevnou šířkou písma (monospaced medium) se na obrazovce jasně zobrazí až 8 řádků a 13 sloupců. Text umístěný mimo tento rozsah může být oříznutý nebo hůře čitelný.
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:robot.screen.set_cursor(row, column)
Parametry |
Popis |
|---|---|
|
Řádek, na který se má kurzor přesunout. |
|
Sloupec, do kterého se má kurzor přesunout. |
# Display text starting at Row 3 Column 2
robot.screen.set_cursor(3, 2)
robot.screen.print("Row 3, Column 2")

next_row#
next_row přesune kurzor do sloupce 1 na dalším řádku na obrazovce robota.
Usage:robot.screen.next_row()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# Display two lines of text
robot.screen.print("Line 1")
robot.screen.next_row()
robot.screen.print("Line 2")

clear_row#
clear_row vymaže jeden řádek textu na obrazovce robota.
Usage:robot.screen.clear_row(row, color)
Parametr |
Popis |
|---|---|
|
Volitelné. Řádek, který se má vymazat jako celé číslo. Výchozí hodnota je aktuální řádek kurzoru. |
|
Volitelné. Barva, která se má použít na vymazaný řádek. Možnosti zahrnují:
|
# 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)

get_row#
get_row vrací aktuální řádek, kde bude text vytištěn jako celé číslo.
Usage:robot.screen.get_row()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# Set cursor to (3,2) and print row number
robot.screen.set_cursor(3, 2)
robot.screen.print(robot.screen.get_row())

get_column#
get_column vrací aktuální sloupec, kam bude text vytištěn jako celé číslo.
Usage:robot.screen.get_column()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# Set cursor to (3,2) and print column number
robot.screen.set_cursor(3, 2)
robot.screen.print(robot.screen.get_column())

Tisk XY#
print_at#
print_at vytiskne text, čísla nebo hodnoty proměnných na obrazovku robota na specifické souřadnici x a y v pixelech s použitím aktuálně nastavených parametrů font a origin. x nastavuje, jak daleko od levé strany začíná text, a y nastavuje, kde se nachází spodní část písmen. Tato metoda ignoruje aktuální pozici kurzoru.

Poznámka: Červený kruh ukazuje, které souřadnice budou viditelné na kruhové obrazovce robota AIM. Souřadnice mimo červený kruh se nacházejí v rozsahu 0–240, ale na obrazovce se nezobrazí.
Usage:
robot.screen.print_at(text, x, y)
Parametr |
Popis |
|---|---|
|
Text, číslo nebo hodnota proměnné, která se má vytisknout na obrazovku. |
|
Horizontální pozice textu jako celé číslo od 0 do 240 pixelů. 0 je vlevo; 240 je vpravo. |
|
Svislá pozice textu jako celé číslo od 0 do 240 pixelů. 0 je horní hranice; 240 je spodní hranice. |
# Display a message in the middle of the screen
robot.screen.print_at("Hello, Robot!", x=40, y=120)

set_origin#
set_origin nastavuje počátek používaný pro kreslení a tisk na základě souřadnic na obrazovce robota. Ve výchozím nastavení je počátek v levém horním rohu obrazovky.
Usage:
robot.screen.set_origin(x, y)
Parametr |
Popis |
|---|---|
|
Nová souřadnice x, která se má nastavit jako počátek, zadaná jako celé číslo od 0 do 240. |
|
Nová souřadnice y, která se má nastavit jako počátek, zadaná jako celé číslo od 0 do 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)

Mutátory#
clear_screen#
clear_screen vymaže všechny kresby a text z obrazovky robota. Ve výchozím nastavení také resetuje pozici kurzoru na řádek 1, sloupec 1.
Usage:
robot.screen.clear_screen(color)
Parametr |
Popis |
|---|---|
|
Volitelné. Nastaví barvu obrazovky. Možnosti zahrnují:
|
# 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)

set_font#
set_font nastavuje písmo použité pro zobrazení textu na obrazovce robota. 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 MONO24.
Usage:
robot.screen.set_font(fontname)
Parametr |
Popis |
|---|---|
|
Nastaví písmo na jednu z následujících možností:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
# Display text using a larger font
robot.screen.set_font(MONO40)
robot.screen.print("VEX")

set_pen_width#
set_pen_width nastavuje tloušťku kreslených čar a obrysů tvarů.
Usage:
robot.screen.set_pen_width(width)
Parametr |
Popis |
|---|---|
|
Šířka pera v pixelech od 0 do 32. |
# Draw a rectangle with a pen width of 10
robot.screen.set_pen_width(10)
robot.screen.draw_rectangle(50, 50, 130, 60)

set_pen_color#
set_pen_color nastavuje barvu textu, pixelů, čar a obrysů tvarů.
Usage:
robot.screen.set_pen_color(color)
Parametr |
Popis |
|---|---|
|
Volitelné. Barva pera a písma, která se má použít. Možnosti zahrnují:
|
# Draw a rectangle with a red pen
robot.screen.set_pen_color(RED)
robot.screen.draw_rectangle(50, 50, 130, 60)

set_fill_color#
set_fill_color nastavuje barvu výplně použitou při kreslení tvarů a při použití pozadí tištěným textem.
Usage:robot.screen.set_fill_color(color)
Parametr |
Popis |
|---|---|
|
Volitelné. Barva výplně, která se má použít. Možnosti zahrnují:
|
# 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)

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

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:
robot.screen.draw_pixel(x, y)
Parametr |
Popis |
|---|---|
|
Souřadnice x, kde bude pixel vykreslen, zadaná jako celé číslo od 0 do 240. |
|
Souřadnice y, kde bude pixel vykreslen, zadaná jako celé číslo od 0 do 240. |
# Draw a pixel at the center of the screen
robot.screen.draw_pixel(120, 120)
![]()
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 (per width a barvy pera (per colour.
Souřadnice x a y používají výchozí počátek (0, 0), pokud nebyl nastaven jiný počátek pomocí set_origin.
Usage:
robot.screen.draw_line(x1, y1, x2, y2)
Parametr |
Popis |
|---|---|
|
Počáteční souřadnice x čáry, zadaná jako celé číslo od 0 do 240. |
|
Počáteční souřadnice y čáry, zadaná jako celé číslo od 0 do 240. |
|
Koncová souřadnice x čáry, zadaná jako celé číslo od 0 do 240. |
|
Koncová souřadnice y čáry, zadaná jako celé číslo od 0 do 240. |
# Draw a line from the top left to bottom right of the screen
robot.screen.draw_line(0, 0, 240, 240)

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:robot.screen.draw_rectangle(x, y, width, height, color)
Parametr |
Popis |
|---|---|
|
Souřadnice x levého horního rohu obdélníku, zadaná jako celé číslo od 0 do 240. |
|
Souřadnice y levého horního rohu obdélníku, zadaná jako celé číslo od 0 do 240. |
|
Šířka obdélníku, zadaná jako celé číslo od 0 do 240. |
|
Výška obdélníku, zadaná jako celé číslo od 0 do 240. |
|
Optional. The fill color of the rectangle. Options include:
|
# Draw a red rectangle on the screen
robot.screen.draw_rectangle(50, 50, 130, 60, RED)

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:robot.screen.draw_circle(x, y, radius, color)
Parametr |
Popis |
|---|---|
|
Souřadnice x středu kružnice, zadaná jako celé číslo od 0 do 240. |
|
Souřadnice y středu kružnice, zadaná jako celé číslo od 0 do 240. |
|
Poloměr kruhu, zadaný jako celé číslo od 0 do 240 pixelů. |
|
Optional. The fill color of the circle. Options include:
|
# Draw a green circle on the screen
robot.screen.draw_circle(120, 120, 40, GREEN)

show_file#
Parametr show_file zobrazí na obrazovce robota nahraný obrázek, jehož poloha je nastavena pomocí parametrů x, ya center na základě referenčního bodu obrázku.
Usage:
robot.screen.show_file(file, x, y, center)
Parametr |
Popis |
|---|---|
|
Vlastní obrázek, který se má použít, od |
|
Horizontální posunutí obrázku, zadané jako celé číslo v pixelech. Kladné hodnoty jej posouvají doprava, záporné hodnoty doleva. |
|
Vertikální posunutí obrázku, zadané jako celé číslo v pixelech. Kladné hodnoty jej posouvají dolů, záporné hodnoty nahoru. |
|
Volitelné. Pokud |
# 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 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í.
Usage:
robot.screen.set_clip_region(x, y, width, height)
Parametr |
Popis |
|---|---|
|
Souřadnice x levého horního rohu oblasti klipu, zadaná jako desetinné číslo ( |
|
Souřadnice y levého horního rohu oblasti klipu, zadaná jako desetinné číslo ( |
|
Šířka oblasti klipu v pixelech, udaná jako desetinné číslo ( |
|
Výška oblasti klipu v pixelech, udaná jako desetinné číslo ( |
# 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)

Zpětná volání#
pressed#
pressed registruje metodu, která se má zavolat při stisknutí obrazovky robota.
Usage:robot.screen.pressed(callback, arg)
Parametry |
Popis |
|---|---|
|
Funkce funkce, která je předem definována k provedení při stisknutí obrazovky ovladače. |
|
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. |
# 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 registruje metodu, která se má volat při uvolnění obrazovky robota.
Usage:robot.screen.released(callback, arg)
Parametry |
Popis |
|---|---|
|
Funkce funkce, která je předem definována k provedení při stisknutí obrazovky ovladače. |
|
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. |
# Set the LEDs to blue when the screen is released.
def screen_released():
robot.led.on(ALL_LEDS, BLUE)
robot.screen.released(screen_released)










