Képernyő#
Bevezetés#
A Screen metódusok szabályozzák, hogy a VEX AIM kódolórobot hogyan jelenít meg szöveget, számokat és grafikákat a képernyőjén, és hogyan reagál a képernyőnyomásokra.
Az alábbiakban felsoroljuk az összes módszert:
É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.
Kurzorkiírás – Szöveg megjelenítése sor/oszlop rendszerben.
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 az aktuális kurzor sorát.get_column– Visszaadja az aktuális kurzor oszlopát.
XY nyomtatás – Szöveg megjelenítése egy adott képernyő-koordinátán.
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 – Töröld a képernyőt, vagy frissítsd a vizuális beállításokat.
clear_screen– Törli a képernyőt az összes rajztól és szövegtől.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_fill_color– Beállítja a rajzolt alakzatok és a nyomtatott szöveg hátterének kitöltési színét.
Rajzolás – Grafikák és képek hozzáadása a képernyőhöz.
draw_pixel– Kirajzol egy képpontot egy adott x és y pozícióban.draw_line– Két pont között húz egy vonalat.draw_rectangle– Téglalapot rajzol.draw_circle– Kör rajzolása.show_file– Megjelenít egy feltöltött képet.set_clip_region– Korlátozza a rajzok és szövegek megjelenési helyét.
Visszahívások – Függvények futtatása a képernyő megnyomásakor vagy felengedésekor.
É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:
robot.screen.pressing()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# 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 Az utolsó képernyőnyomás x koordinátáját adja vissza 0-tól (balra) 240-ig (jobbra) terjedő egész számként.
Usage:robot.screen.x_position()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# 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 Visszaadja az utolsó képernyőnyomás y koordinátáját 0-tól (felül) 240-ig (alul) terjedő egész számként.
Usage:robot.screen.y_position()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# 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)
Kurzor nyomtatása#
print#
print parancs szöveget, számokat vagy változó értékeket nyomtat ki a robot képernyőjén az aktuális kurzor pozíciója és betűtípus pozícióban.
Usage:robot.screen.print(text)
Paraméterek |
Leírás |
|---|---|
|
A képernyőn megjelenítendő szöveg, szám vagy változó értéke. |
# Display a message at the starting cursor position
robot.screen.print("Hello, Robot!")

set_cursor#
set_cursor parancs a szövegkurzort a robot képernyőjén egy adott sorra és oszlopra mozgatja. A következő print hívás ezen a helyen kezdi meg a nyomtatást. A beférő sorok és oszlopok száma a kiválasztott betűtípustól függ. Az alapértelmezett, egysoros közepes betűtípussal a képernyő akár 8 sort és 13 oszlopot is képes tisztán megjeleníteni. Az ezen a tartományon túl elhelyezett szöveg lemaradhat vagy nehezebben olvasható lesz.
Az egyszélességű betűtípusok azonos szélességű karaktereket használnak, így a szöveg elhelyezése egységes. Ezzel szemben az arányos betűtípusok karakterszélessége eltérő, így egyes betűk több helyet foglalnak el, mint mások. Azonban a használt típustól függetlenül set_cursor a kurzort a sor- és oszlopméret, nem pedig a betűstílus alapján pozicionálja. A betűméret a set_font segítségével állítható be.
Usage:robot.screen.set_cursor(row, column)
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 3 Column 2
robot.screen.set_cursor(3, 2)
robot.screen.print("Row 3, Column 2")

next_row#
next_row parancs a kurzort a robot képernyőjének következő sorának 1. oszlopába mozgatja.
Usage:robot.screen.next_row()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# Display two lines of text
robot.screen.print("Line 1")
robot.screen.next_row()
robot.screen.print("Line 2")

clear_row#
clear_row parancs egyetlen sornyi szöveget töröl a robot képernyőjén.
Usage:robot.screen.clear_row(row, color)
Paraméter |
Leírás |
|---|---|
|
Opcionális. A törlendő sor egész számként. Az alapértelmezett érték az aktuális kurzor sora. |
|
Optional. The color to apply to the cleared row. Options include:
|
# 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 függvény visszaadja az aktuális sort, ahová a szöveg egész számként lesz kinyomtatva.
Usage:robot.screen.get_row()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# 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 függvény visszaadja az aktuális oszlopot, ahová a szöveg egész számként kerül kiírásra.
Usage:robot.screen.get_column()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# Set cursor to (3,2) and print column number
robot.screen.set_cursor(3, 2)
robot.screen.print(robot.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 robot képernyőjén egy adott x és y koordinátán pixelben, a jelenleg beállított font és origin paraméterek használatával. x paraméter azt állítja be, hogy a szöveg milyen messze kezdődjön a bal oldaltól, y paraméter 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.

Megjegyzés: A piros kör mutatja, hogy mely koordináták lesznek láthatók az AIM robot kör alakú képernyőjén. A piros körön kívül eső koordináták a 0–240 tartományban vannak, de nem jelennek meg a képernyőn.
Usage:
robot.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 240 képpont közötti egész számként. A 0 a bal, a 240 a jobb oldal. |
|
A szöveg függőleges pozíciója, 0 és 240 képpont közötti egész számként. A 0 a felső, a 240 az alsó részt jelöli. |
# Display a message in the middle of the screen
robot.screen.print_at("Hello, Robot!", x=40, y=120)

set_origin#
set_origin A robot képernyőjén a rajzoláshoz és a koordináta alapú nyomtatáshoz használt origót állítja be. Alapértelmezés szerint az origó a képernyő bal felső sarka.
Usage:
robot.screen.set_origin(x, y)
Paraméter |
Leírás |
|---|---|
|
Az origóként beállítandó új x koordináta, 0 és 240 közötti egész számként megadva. |
|
Az origóként beállítandó új y koordináta, 0 és 240 közötti egész számként megadva. |
# 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átorok#
clear_screen#
clear_screen parancs törli az összes rajzot és szöveget a robot képernyőjéről. Alapértelmezés szerint a kurzort is az 1. sor 1. oszlopába állítja vissza.
Usage:
robot.screen.clear_screen(color)
Paraméter |
Leírás |
|---|---|
|
Optional. Sets the screen color. Options include:
|
# 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 paraméterrel beállítható a robot képernyőjén megjelenő szöveg betűtípusa. Ez a betűtípus minden, a print vagy az print_at paranccsal kinyomtatott szövegre vonatkozik. A projekt kezdetén az alapértelmezett betűtípus a MONO24.
Usage:
robot.screen.set_font(fontname)
Paraméter |
Leírás |
|---|---|
|
A betűtípust a következők egyikére állítja be:
MONO24PROP30 |
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
# Display text using a larger font
robot.screen.set_font(MONO40)
robot.screen.print("VEX")

set_pen_width#
set_pen_width beállítja a rajzolt vonalak és alakzatok körvonalainak vastagságát.
Usage:
robot.screen.set_pen_width(width)
Paraméter |
Leírás |
|---|---|
|
A toll szélessége pixelben, 0 és 32 között. |
# 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 beállítja a szöveg, a képpontok, a vonalak és az alakzatok körvonalainak színét.
Usage:
robot.screen.set_pen_color(color)
Paraméter |
Leírás |
|---|---|
|
Opcionális. A használandó toll- és betűszín. A lehetőségek a következők:
|
# 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 beállítja a kitöltőszínt, amelyet alakzatok rajzolásakor és hátteret használó nyomtatott szöveg esetén használ.
Usage:robot.screen.set_fill_color(color)
Paraméter |
Leírás |
|---|---|
|
Opcionális. A használandó kitöltőszín. A lehetőségek a következők:
|
# 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")

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:
robot.screen.draw_pixel(x, y)
Paraméter |
Leírás |
|---|---|
|
Az x koordináta, ahová a képpontot kirajzoljuk, 0 és 240 közötti egész számként megadva. |
|
Az y koordináta, ahová a képpontot kirajzoljuk, 0 és 240 közötti egész számként megadva. |
# Draw a pixel at the center of the screen
robot.screen.draw_pixel(120, 120)
![]()
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:
robot.screen.draw_line(x1, y1, x2, y2)
Paraméter |
Leírás |
|---|---|
|
A vonal kezdő x koordinátája, 0 és 240 közötti egész számként megadva. |
|
A vonal kezdő y koordinátája, 0 és 240 közötti egész számként megadva. |
|
A vonal végpontjának x koordinátája, 0 és 240 közötti egész számként megadva. |
|
A vonal végső y koordinátája, 0 és 240 közötti egész számként megadva. |
# 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 függvény egy téglalapot rajzol, amelynek bal felső sarka a kiválasztott (x, y) koordinátán van, a mérete pedig a megadott szélesség és magasság által meghatározott, pixelben mért értékek alapján. A téglalap körvonalát az aktuális pen width és pen color paraméterek segítségével rajzolja meg. A belsejét az aktuális fill color tölti ki, 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:robot.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 240 közötti egész számként megadva. |
|
A téglalap bal felső sarkának y koordinátája, 0 és 240 közötti egész számként megadva. |
|
A téglalap szélessége, 0 és 240 közötti egész számként megadva. |
|
A téglalap magassága, 0 és 240 közötti egész számként megadva. |
|
Opcionális. A téglalap kitöltési színe. A lehetőségek a következők:
|
# Draw a red rectangle on the screen
robot.screen.draw_rectangle(50, 50, 130, 60, RED)

draw_circle#
draw_circle függvény egy kört rajzol, amelynek középpontja a kiválasztott (x, y) koordinátán van, és a méretet a megadott sugár határozza meg, mindezt pixelben mérve. A kör körvonalát az aktuális pen width és pen color paraméterek segítségével rajzolja meg. A belső teret az aktuális fill color tölti ki, 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:robot.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 240 közötti egész számként megadva. |
|
A kör középpontjának y koordinátája, 0 és 240 közötti egész számként megadva. |
|
A kör sugara, 0 és 240 képpont közötti egész számként megadva. |
|
Opcionális. A kör kitöltési színe. A lehetőségek a következők:
|
# Draw a green circle on the screen
robot.screen.draw_circle(120, 120, 40, GREEN)

show_file#
show_file függvény egy egyénileg feltöltött képet jelenít meg a robot képernyőjén, amelynek pozíciója a x, yés center paraméterekkel van beállítva a kép referenciapontja alapján.
Usage:
robot.screen.show_file(file, x, y, center)
Paraméter |
Leírás |
|---|---|
|
A használandó egyéni kép |
|
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. Ha |
# 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 egy téglalap alakú területet határoz meg a képernyőn, ahová az összes rajz és szöveg be lesz zárva. Az ezen a területen kívüli tartalom nem jelenik meg.
Usage:
robot.screen.set_clip_region(x, y, width, height)
Paraméter |
Leírás |
|---|---|
|
A klip régió bal felső sarkának x koordinátája, decimális ( |
|
A klip régió bal felső sarkának y koordinátája, decimális ( |
|
A klipterület szélessége pixelben, decimális ( |
|
A klipterület magassága pixelben, decimális ( |
# 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)

Visszahívások#
pressed#
pressed regisztrál egy metódust, amely akkor hívódik meg, amikor a robot képernyőjét megnyomják.
Usage:robot.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. |
# 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 regisztrál egy metódust, amely akkor hívódik meg, amikor a robot képernyőjét elengedik.
Usage:robot.screen.released(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. |
# Set the LEDs to blue when the screen is released.
def screen_released():
robot.led.on(ALL_LEDS, BLUE)
robot.screen.released(screen_released)










