Obrazovka#
Zavedení#
Metody obrazovky ovládají, jak ovladač dronu VEX AIR zobrazuje text, čísla, grafiku a obrázky na obrazovce a jak reaguje na stisknutí tlačítka na obrazovce.
Níže je uveden seznam dostupných metod:
Tisk kurzoru – Zobrazení textu a správa kurzoru tisku.
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í řádek, kam bude vytištěn text.get_column– Vrátí sloupec, kam bude vytištěn text.
XY tisk – Tisk textu v pixelových souřadnicích.
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 – Změňte nastavení obrazovky, barvy a chování při kreslení.
clear_screen– Vymaže všechny kresby, text a obrázky z obrazovky ovladače.wait_for_render– Přepne vykreslování obrazovky na chování render-later.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_text_fill_color– Nastaví barvu výplně za tištěným textem.set_fill_color– Nastaví barvu výplně pro nakreslené tvary.
Kreslení – Přidání grafiky a obrázků na obrazovku.
draw_pixel– Nakreslí jeden pixel na specifické pozici x a y.draw_line– Nakreslí čáru mezi dvěma body.draw_rectangle– Nakreslí obdélník s použitím aktuálních barev pera a výplně.draw_circle– Nakreslí kruh s použitím aktuálních barev pera a výplně.show_file– Nakreslí nahraný obrázek.
Dotyk – Detekce a reakce na stisknutí obrazovky.
pressing– Vrátí, zda je obrazovka aktuálně 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í – Spouštějí funkce při stisknutí nebo uvolnění obrazovky.
Tisk kurzoru#
print#
print vytiskne text, čísla nebo hodnoty proměnných na obrazovku řídicí jednotky v aktuální poloze kurzoru a fontu.
Usage:
controller.screen.print(text)
Parametry |
Popis |
|---|---|
|
Text, číslo nebo hodnota proměnné, která se má vytisknout na obrazovku. |
|
Volitelné. Oddělovač mezi tištěným textem. Ve výchozím nastavení |
|
Volitelné. Řetězec připojený za poslední vytištěný text. Ve výchozím nastavení |
|
Volitelné. Počet desetinných míst, která bude číslo s plovoucí čárkou vypsáno jako celé číslo. Ve výchozím nastavení je |
# Display a message at the starting cursor position.
controller.screen.print("Time to fly!")

# Display the first 2 decimals of pi
controller.screen.print(3.1415, precision = 2)

set_cursor#
set_cursor přesune kurzor na konkrétní řádek a sloupec na obrazovce kontroleru. Další volání print spustí tisk v tomto místě. Rozteč řádků a sloupců bude zohledňovat vybrané písmo. S výchozím písmem s pevnou šířkou a středním řádkem se na obrazovce jasně zobrazí až 18 řádků a 53 sloupců. Text umístěný mimo tento rozsah může být oříznutý nebo hůře čitelný.
Usage:
controller.screen.set_cursor(row, col)
Parametry |
Popis |
|---|---|
|
Řádek, na který se má kurzor přesunout. |
|
Sloupec, do kterého se má kurzor přesunout. |
# Display text starting at Row 7 Column 25.
controller.screen.set_cursor(row=7, col=25)
controller.screen.print("Row 7, Column 25")

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

clear_row#
clear_row vymaže řádek textu na obrazovce řadiče.
Usage:
controller.screen.clear_row(row, color)
Parametr |
Popis |
|---|---|
|
Volitelné. Řádek, který se má vymazat. Výchozí hodnota je aktuální řádek kurzoru. |
|
Optional. The color to apply to the cleared row. If a color is not specified, the
|
# Clear only the second row of text
controller.screen.print("This text stays")
controller.screen.next_row()
controller.screen.print("This text disappears")
wait(3, SECONDS)
controller.screen.clear_row(2)
# Turn the 5th row green.
controller.screen.clear_row(5, GREEN)
get_row#
get_row vrací aktuální řádek, kam bude text vytištěn, jako celé číslo.
Usage:
controller.screen.get_row()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# Display the cursor's current row.
controller.screen.set_cursor(row=7, col=25)
controller.screen.print(controller.screen.get_row())

get_column#
get_column vrací aktuální sloupec, kam bude text vytištěn, jako celé číslo.
Usage:
controller.screen.get_column()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# Display the cursor's current column.
controller.screen.set_cursor(row=7, col=25)
controller.screen.print(controller.screen.get_column())

Tisk XY#
print_at#
print_at vytiskne text, čísla nebo hodnoty proměnných na obrazovku řadiče na specifické pozici (x, y) v pixelech s použitím aktuální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.
Usage:
controller.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 640 pixelů. 0 je vlevo; 640 je vpravo. |
|
Svislá pozice textu jako celé číslo od 0 do 480 pixelů. 0 je horní hranice; 480 je spodní hranice. |
# Display a message in the middle of the screen.
controller.screen.print_at("Hello, drone!", x=320, y=240)

set_origin#
set_origin nastavuje počátek (0, 0) použitý pro kreslení a tisk na základě souřadnic na obrazovce řídicí jednotky. Ve výchozím nastavení je počátek v levém horním rohu obrazovky. Tato metoda může resetovat počátek na alternativní umístění souřadnic (x, y) na obrazovce.
Usage:
controller.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 640. |
|
Nová souřadnice y, která se má nastavit jako počátek, zadaná jako celé číslo od 0 do 480. |
# Set the origin to the center of the screen.
controller.screen.set_origin(x=320, y=240)
# Draw a rectangle at the new origin.
controller.screen.draw_rectangle(x=0, y=0, width=80, height=40)

Mutátory#
clear_screen#
clear_screen vymaže všechny kresby, text a obrázky z obrazovky řídicí jednotky.
Usage:
controller.screen.clear_screen(row, col, color)
Parametr |
Popis |
|---|---|
|
Volitelné. Řádek, na který se má kurzor přesunout po vymazání obrazovky. Výchozí hodnota je 1. |
|
Volitelné. Sloupec, do kterého se má kurzor přesunout po vymazání obrazovky. Výchozí hodnota je 1. |
|
Volitelné. Nastavuje barvu obrazovky. Pokud je zahrnuto
|
# Draw a circle, and clear it after 2 seconds.
controller.screen.draw_circle(x=320, y=240, radius=80)
wait(2, SECONDS)
controller.screen.clear_screen()
# Print two messages in the same spot
controller.screen.print("Hello!")
wait(3,SECONDS)
controller.screen.clear_screen(row=1, col=1)
controller.screen.print("Goodbye!")
# Set the background color of the screen to red.
controller.screen.clear_screen(color=RED)
wait_for_render#
wait_for_render přepne vykreslování obrazovky na chování render-later. Po spuštění této metody se následující příkazy obrazovky na obrazovce řadiče nezobrazí, dokud se nespustí další metoda wait_for_render.
Poznámka: Použijte tuto funkci před kreslením skupiny textu, tvarů nebo obrázků a poté ji použijte znovu pro vykreslení celé aktualizace najednou.
Usage:
controller.screen.wait_for_render()
Parametr |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# Display text and images when button 7 is pressed.
controller.screen.wait_for_render()
controller.screen.print("Screen rendered!")
controller.screen.draw_circle(x=320, y=240, radius=80)
while not controller.button7.pressing():
wait(5, MSEC)
controller.screen.wait_for_render()

set_font#
set_font nastavuje písmo použité pro zobrazení textu na obrazovce kontroleru. Toto písmo se použije na veškerý text vytištěný po spuštění této metody. Výchozí písmo na začátku projektu je MONO20.
Usage:
controller.screen.set_font(fontname)
Parametr |
Popis |
|---|---|
|
Nastaví písmo na jednu z následujících možností:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
# Display text using a larger font.
controller.screen.set_font(MONO40)
controller.screen.print("VEX")

set_pen_width#
set_pen_width nastavuje tloušťku kreslených čar a obrysů tvarů.
Usage:
controller.screen.set_pen_width(width)
Parametr |
Popis |
|---|---|
|
Šířka pera, udaná jako celé číslo v pixelech. |
# Draw a rectangle with a pen width of 10.
controller.screen.set_pen_width(10)
controller.screen.draw_rectangle(x=200, y=200, width=200, height=80)

set_pen_color#
set_pen_color nastavuje barvu textu, pixelů, čar a obrysů tvarů.
Usage:
controller.screen.set_pen_color(color)
Parametr |
Popis |
|---|---|
|
Volitelné. Nastavuje barvu pera a písma. Možnosti zahrnují:
|
# Draw a rectangle with an orange outline.
controller.screen.set_pen_color(ORANGE)
controller.screen.draw_rectangle(x=200, y=150, width=240, height=150)
controller.screen.set_pen_color(WHITE)
controller.screen.print_at("VEXcode AIR", x=250, y=220)

set_text_fill_color#
set_text_fill_color nastavuje barvu výplně za tištěným textem. Výchozí barva výplně textu je průhledná.
Usage:
controller.screen.set_text_fill_color(color)
Parametr |
Popis |
|---|---|
|
Volitelné. Nastavuje barvu výplně textu. Možnosti zahrnují:
|
# Display two colors behind text
controller.screen.set_text_fill_color(RED)
controller.screen.print("Red")
controller.screen.next_row()
controller.screen.set_text_fill_color(BLUE)
controller.screen.print("Blue")

set_fill_color#
set_fill_color nastavuje barvu výplně použitou při kreslení tvarů. Výchozí barva výplně je černá.
Usage:
controller.screen.set_fill_color(color)
Parametr |
Popis |
|---|---|
|
Volitelné. Nastavuje barvu výplně. Možnosti zahrnují:
|
# Draw an orange-filled rectangle with text on top
controller.screen.set_fill_color(ORANGE)
controller.screen.draw_rectangle(x=200, y=150, width=250, height=150)
controller.screen.print_at("VEXcode AIR", x=250, y=220)

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:
controller.screen.draw_pixel(x, y)
Parametr |
Popis |
|---|---|
|
Souřadnice x, kde bude pixel vykreslen, zadaná jako celé číslo od 0 do 640. |
|
Souřadnice y, kde bude pixel vykreslen, zadaná jako celé číslo od 0 do 480. |
# Draw five pixels in a diagonal.
controller.screen.draw_pixel(x=360, y=200)
controller.screen.draw_pixel(x=340, y=220)
controller.screen.draw_pixel(x=320, y=240)
controller.screen.draw_pixel(x=300, y=260)
controller.screen.draw_pixel(x=280, y=280)
![]()
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:
controller.screen.draw_line(x1, y1, x2, y2)
Parametr |
Popis |
|---|---|
|
Počáteční souřadnice x čáry, zadaná jako celé číslo od 0 do 640. |
|
Počáteční souřadnice y úsečky, zadaná jako celé číslo od 0 do 480. |
|
Koncová souřadnice x čáry, zadaná jako celé číslo od 0 do 640. |
|
Koncová souřadnice y čáry, zadaná jako celé číslo od 0 do 480. |
# Make an X across the screen.
controller.screen.draw_line(x1=0, y1=0, x2=640, y2=480)
controller.screen.set_pen_color(CYAN)
controller.screen.draw_line(x1=0, y1=480, x2=640, y2=0)

draw_rectangle#
draw_rectangle nakreslí obdélník s použitím aktuálních hodnot pen width, pen color a 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:
controller.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 640. |
|
Souřadnice y levého horního rohu obdélníku, zadaná jako celé číslo od 0 do 480. |
|
Šířka obdélníku, zadaná jako celé číslo od 0 do 640. |
|
Výška obdélníku, zadaná jako celé číslo od 0 do 480. |
|
Optional. Sets the fill color of the rectangle. Options include:
|
# Draw two rectangles on the screen.
controller.screen.draw_rectangle(x=0, y=0, width=620, height=460)
controller.screen.draw_rectangle(x=200, y=180, width=200, height=100, color=GREEN)

draw_circle#
draw_circle nakreslí kruh s použitím aktuálních parametrů pen width, pen color a 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:
controller.screen.draw_circle(x, y, radius, color)
Parametr |
Popis |
|---|---|
|
Souřadnice x středu kružnice, zadaná jako celé číslo od 0 do 640. |
|
Souřadnice y středu kružnice, zadaná jako celé číslo od 0 do 480. |
|
Poloměr kruhu, zadaný jako celé číslo od 0 do 480 pixelů. |
|
Optional. Sets the fill color of the circle. Options include:
|
# Draw one green circle on the screen.
controller.screen.set_fill_color(GREEN)
controller.screen.draw_circle(x=320, y=240, radius=200, color=GREEN)

show_file#
show_file nakreslí na obrazovku ovladače vlastní nahraný obrázek v pozici x a y s volitelným měřítkem, rotací a alfa průhledností.
Usage:
controller.screen.show_file(file, x, y, scale_width, scale_height, rotation, use_alpha)
Parametr |
Popis |
|---|---|
|
Uživatelem nahraný obrázek, který se má použít. Možnosti se změní, pokud se názvy obrázků upraví v Ovládacích panelech. |
|
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é. Šířka obrázku, na kterou se má měřítko přizpůsobit, udaná jako celé číslo v pixelech. |
|
Volitelné. Výška obrázku, na kterou se má měřítko upravovat, udaná jako celé číslo v pixelech. |
|
Volitelné. Počet stupňů, o které se má obrázek otočit, zadaný jako celé číslo od 0 do 359. |
|
Volitelné. Zda se má pro průhlednost použít alfa kanál obrázku. Možnosti zahrnují: |
# Display uploaded Image 1 in the top left corner.
controller.screen.show_file(IMAGE1, x=0, y=0)
# Display uploaded Image 1 scaled to the full screen.
controller.screen.show_file(IMAGE1, x=65, y=0, scale_width=640, scale_height=480)
# Display uploaded Image 1 with rotation of 180 degrees.
controller.screen.show_file(IMAGE1, x=-65, y=0, rotation=180)
# Upload an image with a transparent background.
# Display uploaded Image 1 with alpha channel enabled.
controller.screen.show_file(IMAGE1, x=0, y=0, use_alpha=True)
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:
controller.screen.pressing()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# Play a sound when the screen is pressed.
while True:
if controller.screen.pressing():
controller.sound.play_note("C5", 500)
wait(5, MSEC)
# Display different messages after the screen is pressed
while not controller.screen.pressing():
wait(5, MSEC)
controller.screen.print("First message!")
controller.screen.next_row()
# Lift finger to press the screen again
while controller.screen.pressing():
wait(5, MSEC)
while not controller.screen.pressing():
wait(5, MSEC)
controller.screen.print("Second message!")
controller.screen.next_row()
x_position#
x_position vrací souřadnici x v pixelech, kde byla obrazovka naposledy stisknuta, jako celé číslo od 0 (vlevo) do 640 (vpravo).

Usage:
controller.screen.x_position()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# Play a high or low note based on where screen is pressed.
while True:
if controller.screen.pressing():
if controller.screen.x_position() > 320:
controller.sound.play_note("C6", 500)
else:
controller.sound.play_note("C4", 500)
wait(5, MSEC)
y_position#
y_position vrací souřadnici y v pixelech, kde byla obrazovka naposledy stisknuta, jako celé číslo od 0 (nahoře) do 480 (dole).

Usage:
controller.screen.y_position()
# Play a high or low note based on where screen is pressed.
while True:
if controller.screen.pressing():
if controller.screen.y_position() > 240:
controller.sound.play_note("C6", 500)
else:
controller.sound.play_note("C4", 500)
wait(5, MSEC)
Zpětná volání#
pressed#
pressed registruje funkci, která se má volat při stisknutí obrazovky ovladače.
Usage:
controller.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. |
# Play a sound when the screen is pressed.
def play_sound():
controller.sound.play_note("C5", 500)
controller.screen.pressed(play_sound)
released#
released registruje funkci, která má být volána při uvolnění obrazovky ovladače.
Usage:
controller.screen.released(callback, arg)
Parametry |
Popis |
|---|---|
|
Funkce funkce, která je předem definována k provedení po uvolnění 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. |
# Play a sound when the screen is pressed.
def play_sound():
controller.sound.play_note("C5", 500)
controller.screen.released(play_sound)













