Képernyő#
Bevezetés#
A Screen metódusok szabályozzák, hogy a VEX AIR drónvezérlő hogyan jelenít meg szöveget, számokat, grafikákat és képeket a képernyőn, és hogyan reagál a képernyőnyomásokra.
Az alábbiakban felsoroljuk az elérhető módszereket:
Kurzor nyomtatása – Szöveg megjelenítése és a nyomtatási kurzor kezelése
print– Szöveget, számokat vagy változóértékeket nyomtat ki az aktuális kurzorpozícióban.set_cursor– A kurzort egy adott sorra és oszlopba mozgatja.next_row– A kurzort a következő sor 1. oszlopába mozgatja.clear_row– Töröl egy sor szöveget.get_row– Visszaadja azt a sort, ahová a szöveg ki lesz nyomtatva.get_column– Visszaadja azt az oszlopot, ahová a szöveg ki lesz nyomtatva.
XY nyomtatás – Szöveg nyomtatása pixel alapú koordináták szerint.
print_at– Szöveget, számokat vagy változóértékeket nyomtat ki egy adott x és y koordinátán.set_origin– Beállítja a koordináta alapú nyomtatáshoz és rajzoláshoz használt origót.
Mutátorok – Képernyőbeállítások, színek és rajzolási viselkedés módosítása.
clear_screen– Törli az összes rajzot, szöveget és képet a vezérlő képernyőjéről.wait_for_render– A képernyőrajzolást renderelés utáni viselkedésre váltja.set_font– Beállítja a nyomtatott szöveg betűtípusát.set_pen_width– Beállítja a rajzolt vonalak és alakzatok körvonalainak vastagságát.set_pen_color– Beállítja a szöveg, a képpontok, a vonalak és az alakzatok körvonalainak színét.set_text_fill_color– Beállítja a nyomtatott szöveg mögötti kitöltőszínt.set_fill_color– Beállítja a rajzolt alakzatok kitöltési színét.
Rajzolás – Grafikák és képek hozzáadása a képernyőhöz.
draw_pixel– Egy pixelt rajzol egy adott x és y pozícióba.draw_line– Két pont között húz egy vonalat.draw_rectangle– Téglalapot rajzol az aktuális toll- és kitöltési színekkel.draw_circle– Kör rajzolása az aktuális toll- és kitöltési színekkel.show_file– Kirajzol egy feltöltött képet.
Érintés – Képernyőérintések észlelése és reagálás rájuk.
pressing– Visszaadja, hogy a képernyő jelenleg le van-e nyomva.x_position– Visszaadja az utolsó képernyőleütés x koordinátáját.y_position– Visszaadja az utolsó képernyőleütés y koordinátáját.
Visszahívások – Függvények futtatása a képernyő megnyomásakor vagy felengedésekor.
Kurzor nyomtatása#
print#
print parancs szöveget, számokat vagy változóértékeket nyomtat ki a vezérlő képernyőjén az aktuális kurzorpozíció és betűtípus pozícióban.
Usage:
controller.screen.print(text)
Paraméterek |
Leírás |
|---|---|
|
A képernyőn kinyomtatandó szöveg, szám vagy változó értéke. |
|
Opcionális. A nyomtatott szöveg közötti elválasztó. Alapértelmezés szerint |
|
Opcionális. Az utolsó kinyomtatott szöveg után hozzáfűzött karakterlánc. Alapértelmezés szerint |
|
Opcionális. A tizedesjegyek száma, amelyet egy lebegőpontos szám egész számként nyomtat ki. Alapértelmezés szerint |
# 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 parancs a kurzort a vezérlő képernyőjének egy adott sorára és oszlopára mozgatja. A következő print hívás ezen a helyen kezdi meg a nyomtatást. A sor- és oszlopköz figyelembe veszi a kiválasztott betűtípust. Az alapértelmezett, egysoros közepes betűtípussal a képernyő akár 18 sort és 53 oszlopot is képes tisztán megjeleníteni. Az ezen a tartományon túl elhelyezett szöveg lemaradhat vagy nehezebben olvasható lesz.
Usage:
controller.screen.set_cursor(row, col)
Paraméterek |
Leírás |
|---|---|
|
A sor, ahová a kurzort át kell helyezni. |
|
Az oszlop, amelyre a kurzort át kell helyezni. |
# 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 parancs a kurzort a vezérlőképernyő következő sorának 1. oszlopába mozgatja.
Usage:
controller.screen.next_row()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# Display two lines of text.
controller.screen.print("Line 1")
controller.screen.next_row()
controller.screen.print("Line 2")

clear_row#
clear_row parancs egy sornyi szöveget töröl a vezérlő képernyőjén.
Usage:
controller.screen.clear_row(row, color)
Paraméter |
Leírás |
|---|---|
|
Opcionális. A törlendő sor. Az alapértelmezett érték az aktuális kurzorsor. |
|
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 függvény visszaadja az aktuális sort egész számként, ahová a szöveg ki lesz nyomtatva.
Usage:
controller.screen.get_row()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# 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 függvény visszaadja az aktuális oszlopot egész számként, ahová a szöveg ki lesz nyomtatva.
Usage:
controller.screen.get_column()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# Display the cursor's current column.
controller.screen.set_cursor(row=7, col=25)
controller.screen.print(controller.screen.get_column())

XY nyomtatás#
print_at#
A print_at függvény szöveget, számokat vagy változóértékeket nyomtat ki a vezérlő képernyőjén egy adott (x, y) pozícióban pixelben, az aktuális font és origin használatával. x beállítja, hogy a szöveg milyen messze kezdődjön a bal oldaltól, y pedig azt, hogy hol helyezkednek el a betűk alja. Ez a metódus figyelmen kívül hagyja a kurzor aktuális pozícióját.
Usage:
controller.screen.print_at(text, x, y)
Paraméter |
Leírás |
|---|---|
|
A képernyőn kinyomtatandó szöveg, szám vagy változó értéke. |
|
A szöveg vízszintes pozíciója, 0 és 640 képpont közötti egész számként. A 0 a bal, a 640 a jobb oldal. |
|
A szöveg függőleges pozíciója, 0 és 480 képpont közötti egész számként. A 0 a felső, a 480 az alsó részt jelöli. |
# Display a message in the middle of the screen.
controller.screen.print_at("Hello, drone!", x=320, y=240)

set_origin#
set_origin Beállítja az origót (0, 0), amelyet a vezérlő képernyőjén történő rajzoláshoz és koordináta-alapú nyomtatáshoz használnak. Alapértelmezés szerint az origó a képernyő bal felső sarka. Ez a metódus visszaállíthatja az origót egy alternatív (x, y) képernyőkoordináta-helyre.
Usage:
controller.screen.set_origin(x, y)
Paraméter |
Leírás |
|---|---|
|
Az origóként beállítandó új x koordináta, 0 és 640 közötti egész számként megadva. |
|
Az origóként beállítandó új y koordináta, 0 és 480 közötti egész számként megadva. |
# 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átorok#
clear_screen#
clear_screen parancs törli az összes rajzot, szöveget és képet a vezérlő képernyőjéről.
Usage:
controller.screen.clear_screen(row, col, color)
Paraméter |
Leírás |
|---|---|
|
Opcionális. A sor, ahová a kurzort a képernyő törlése után át kell helyezni. Az alapértelmezett érték 1. |
|
Opcionális. Az oszlop, amelybe a kurzor a képernyő törlése után kerüljön. Az alapértelmezett érték 1. |
|
Optional. Sets the screen color. If
|
# 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 A képernyőrajzolást későbbi renderelésre váltja. A metódus lefutása után a következő képernyőparancsok nem jelennek meg a vezérlő képernyőjén, amíg a következő wait_for_render metódus le nem fut.
Megjegyzés: Használd ezt a funkciót szövegek, alakzatok vagy képek rajzolása előtt, majd ismételd meg vele a teljes frissítés azonnali megjelenítését.
Usage:
controller.screen.wait_for_render()
Paraméter |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# 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 beállítja a vezérlő képernyőjén megjelenő szöveg betűtípusát. Ez a betűtípus lesz érvényes az összes kinyomtatott szövegre a metódus futása után. A projekt elején az alapértelmezett betűtípus a MONO20.
Usage:
controller.screen.set_font(fontname)
Paraméter |
Leírás |
|---|---|
|
Sets the font to one of the following:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
# Display text using a larger font.
controller.screen.set_font(MONO40)
controller.screen.print("VEX")

set_pen_width#
set_pen_width beállítja a rajzolt vonalak és alakzatok körvonalainak vastagságát.
Usage:
controller.screen.set_pen_width(width)
Paraméter |
Leírás |
|---|---|
|
A toll szélessége, egész számként megadva pixelben. |
# 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 beállítja a szöveg, a képpontok, a vonalak és az alakzatok körvonalainak színét.
Usage:
controller.screen.set_pen_color(color)
Paraméter |
Leírás |
|---|---|
|
Optional. Sets the pen and font color. Options include:
|
# 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 Beállítja a nyomtatott szöveg mögötti kitöltőszínt. Az alapértelmezett szövegkitöltőszín az átlátszó.
Usage:
controller.screen.set_text_fill_color(color)
Paraméter |
Leírás |
|---|---|
|
Opcionális. Beállítja a szöveg kitöltési színét. A lehetőségek a következők:
|
# 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 beállítja az alakzatok rajzolásakor használt kitöltőszínt. Az alapértelmezett kitöltőszín a fekete.
Usage:
controller.screen.set_fill_color(color)
Paraméter |
Leírás |
|---|---|
|
Optional. Sets the fill color. Options include:
|
# 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)

Döntetlen#
draw_pixel#
draw_pixel függvény egy pixelt rajzol a kiválasztott x és y koordinátán az aktuális toll szín használatával.
Usage:
controller.screen.draw_pixel(x, y)
Paraméter |
Leírás |
|---|---|
|
Az x koordináta, ahová a képpontot kirajzoljuk, 0 és 640 közötti egész számként megadva. |
|
Az y koordináta, ahová a képpontot kirajzoljuk, 0 és 480 közötti egész számként megadva. |
# 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 függvény egy vonalat húz az első képernyő-koordinátától ( (x1, y1) a második képernyő-koordinátáig (x2, y2) a jelenlegi toll szélessége és toll színe paraméterek felhasználásával.
Az x és y koordináták az alapértelmezett (0, 0) origót használják, kivéve, ha a set_origin használatával más origót állítottak be.
Usage:
controller.screen.draw_line(x1, y1, x2, y2)
Paraméter |
Leírás |
|---|---|
|
A vonal kezdő x koordinátája, 0 és 640 közötti egész számként megadva. |
|
A vonal kezdő y koordinátája, 0 és 480 közötti egész számként megadva. |
|
A vonal végpontjának x koordinátája, 0 és 640 közötti egész számként megadva. |
|
A vonal végső y koordinátája, 0 és 480 közötti egész számként megadva. |
# 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 függvény egy téglalapot rajzol az aktuális pen width, pen color és fill color paraméterek használatával, kivéve, ha az opcionális color paramétert használjuk.
Az x és y koordináták az alapértelmezett (0, 0) origót használják, kivéve, ha a set_origin használatával más origót állítottak be.
Usage:
controller.screen.draw_rectangle(x, y, width, height, color)
Paraméter |
Leírás |
|---|---|
|
A téglalap bal felső sarkának x koordinátája, 0 és 640 közötti egész számként megadva. |
|
A téglalap bal felső sarkának y koordinátája, 0 és 480 közötti egész számként megadva. |
|
A téglalap szélessége, 0 és 640 közötti egész számként megadva. |
|
A téglalap magassága, 0 és 480 közötti egész számként megadva. |
|
Opcionális. Beállítja a téglalap kitöltési színét. A következő lehetőségek közül választhat:
|
# 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 függvény egy kört rajzol az aktuális pen width, pen color és fill color paraméterek használatával, kivéve, ha az opcionális color paramétert használjuk.
Az x és y koordináták az alapértelmezett (0, 0) origót használják, kivéve, ha a set_origin használatával más origót állítottak be.
Usage:
controller.screen.draw_circle(x, y, radius, color)
Paraméter |
Leírás |
|---|---|
|
A kör középpontjának x koordinátája, 0 és 640 közötti egész számként megadva. |
|
A kör középpontjának y koordinátája, 0 és 480 közötti egész számként megadva. |
|
A kör sugara, 0 és 480 képpont közötti egész számként megadva. |
|
Opcionális. Beállítja a kör kitöltési színét. A következő lehetőségek közül választhat:
|
# 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 Egy egyénileg feltöltött képet rajzol a vezérlő képernyőjére x és y pozícióban, opcionális méretezéssel, forgatással és alfa átlátszósággal.
Usage:
controller.screen.show_file(file, x, y, scale_width, scale_height, rotation, use_alpha)
Paraméter |
Leírás |
|---|---|
|
A felhasználó által feltöltött kép. A beállítások megváltoznak, ha a képneveket a Vezérlőpulton szerkeszti. |
|
A kép vízszintes eltolása, pixelben megadott egész számként. A pozitív értékek jobbra, a negatív értékek balra tolják el a képet. |
|
A kép függőleges eltolása, pixelben megadott egész számként. A pozitív értékek lefelé, a negatív értékek felfelé tolják a képet. |
|
Opcionális. A kép szélessége, amelyre méretezve van, egész számként megadva képpontokban. |
|
Opcionális. A kép méretezendő magassága, egész számként megadva pixelben. |
|
Opcionális. A kép elforgatásának fokszáma, 0 és 359 közötti egész számként megadva. |
|
Opcionális. Meghatározza, hogy a kép alfa csatornáját használja-e az átlátszósághoz. A lehetőségek a következők: |
# 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)
Érintés#
pressing#
pressing megnyomása közötti logikai érték egy logikai értéket ad vissza, amely jelzi, hogy a robot képernyőjének megnyomása folyamatban van-e.
True– A képernyőt megnyomják.False– A képernyőt nem nyomják meg.
Usage:
controller.screen.pressing()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# 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 Visszaadja a képernyő utolsó megnyomásának x koordinátáját pixelben, 0-tól (balra) 640-ig (jobbra) terjedő egész számként.

Usage:
controller.screen.x_position()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# 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 Visszaadja a képernyő utolsó megnyomásának y koordinátáját pixelben, 0-tól (felül) 480-ig (alul) terjedő egész számként.

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)
Visszahívások#
pressed#
pressed egy függvényt regisztrál, amely a vezérlőképernyő megnyomásakor hívódik meg.
Usage:
controller.screen.pressed(callback, arg)
Paraméterek |
Leírás |
|---|---|
|
Egy korábban definiált függvény, amely a vezérlőképernyő megnyomásakor végrehajtódik. |
|
Opcionális. Egy tuple, amely argumentumokat tartalmaz a visszahívó függvénynek átadandó. További információkért lásd a Függvények használata paraméterekkel részt. |
# Play a sound when the screen is pressed.
def play_sound():
controller.sound.play_note("C5", 500)
controller.screen.pressed(play_sound)
released#
released egy függvényt regisztrál, amely a vezérlőképernyő felengedésekor hívódik meg.
Usage:
controller.screen.released(callback, arg)
Paraméterek |
Leírás |
|---|---|
|
Egy korábban definiált függvény, amely a vezérlőképernyő elengedésekor végrehajtásra kerül. |
|
Opcionális. Egy tuple, amely argumentumokat tartalmaz a visszahívó függvénynek átadandó. További információkért lásd a Függvények használata paraméterekkel részt. |
# Play a sound when the screen is pressed.
def play_sound():
controller.sound.play_note("C5", 500)
controller.screen.released(play_sound)













