Ekranas#
Įvadas#
„Screen“ metodai kontroliuoja, kaip „VEX AIM“ kodavimo robotas ekrane rodo tekstą, skaičius ir grafiką, ir kaip jis reaguoja į ekrano paspaudimus.
Žemiau pateikiamas visų metodų sąrašas:
Lietimas – aptinka ir reaguoja į ekrano paspaudimus.
pressing– Grąžina, ar ekranas šiuo metu yra spaudžiamas.x_position– Grąžina paskutinio ekrano paspaudimo x koordinatę.y_position– Grąžina paskutinio ekrano paspaudimo y koordinatę.
Žymeklio spausdinimas – rodyti tekstą eilutėmis / stulpeliais.
print– Spausdina tekstą, skaičius arba kintamųjų reikšmes dabartinėje žymeklio padėtyje.set_cursor– Perkelia žymeklį į konkrečią eilutę ir stulpelį.next_row– Perkelia žymeklį į kitos eilutės 1 stulpelį.clear_row– Išvalo teksto eilutę.get_row– Grąžina dabartinę žymeklio eilutę.get_column– Grąžina dabartinį žymeklio stulpelį.
XY spausdinimas – rodyti tekstą konkrečioje ekrano koordinatėje.
print_at– Spausdina tekstą, skaičius arba kintamųjų reikšmes konkrečioje x ir y koordinatėje.set_origin– Nustato koordinatėmis pagrįsto spausdinimo ir piešimo pradžios tašką.
Mutatoriai – Išvalykite ekraną arba atnaujinkite vaizdo nustatymus.
clear_screen– Išvalo ekraną nuo visų piešinių ir teksto.set_font– Nustato spausdinamo teksto šriftą.set_pen_width– Nustato nubrėžtų linijų ir formos kontūrų storį.set_pen_color– Nustato teksto, pikselių, linijų ir figūrų kontūrų spalvą.set_fill_color– Nustato nupieštų formų ir spausdinto teksto fonų užpildymo spalvą.
Piešimas – pridėkite grafikos ir vaizdų prie ekrano.
draw_pixel– Nubraižo pikselį konkrečioje x ir y pozicijoje.draw_line– Nubrėžia liniją tarp dviejų taškų.draw_rectangle– Nubraižo stačiakampį.draw_circle– Nubrėžia apskritimą.show_file– Parodo įkeltą paveikslėlį.set_clip_region– Apriboja, kur gali būti rodomi piešiniai ir tekstas.
Atgaliniai iškvietimai – paleidžiamos funkcijos, kai paspaudžiamas arba atleidžiamas ekranas.
Palieskite#
pressing#
pressing grąžina loginę reikšmę, nurodančią, ar šiuo metu spaudžiamas roboto ekranas.
True– Ekranas spaudžiamas.False– Ekranas nespaudžiamas.
Usage:
robot.screen.pressing()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# 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 grąžina paskutinio ekrano paspaudimo x koordinatę kaip sveikąjį skaičių nuo 0 (kairėje) iki 240 (dešinėje).
Usage:robot.screen.x_position()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# 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 grąžina paskutinio ekrano paspaudimo y koordinatę kaip sveikąjį skaičių nuo 0 (viršuje) iki 240 (apačioje).
Usage:robot.screen.y_position()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# 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)
Žymeklio spausdinimas#
print#
print spausdina tekstą, skaičius arba kintamųjų reikšmes roboto ekrane dabartinėje žymeklio padėtyje ir šrifto vietose.
Usage:robot.screen.print(text)
Parametrai |
Aprašymas |
|---|---|
|
Tekstas, skaičius arba kintamojo reikšmė, kuri bus rodoma ekrane. |
# Display a message at the starting cursor position
robot.screen.print("Hello, Robot!")

set_cursor#
set_cursor perkelia teksto žymeklį į konkrečią eilutę ir stulpelį roboto ekrane. Kitas print iškvietimas pradės spausdinti toje vietoje. Eilučių ir stulpelių, kurie telpa, skaičius priklauso nuo pasirinkto šrifto. Naudojant numatytąjį vienodo tarpo vidutinio pločio šriftą, ekrane gali būti aiškiai rodoma iki 8 eilučių ir 13 stulpelių. Tekstas, esantis už šio diapazono ribų, gali būti nukirptas arba sunkiau skaitomas.
Vienodo pločio šriftai turi vienodo pločio simbolius, todėl teksto išdėstymas yra nuoseklus. Tuo tarpu proporciniai šriftai skiriasi simbolių pločiu, todėl kai kurios raidės užima daugiau vietos nei kitos. Tačiau, nepriklausomai nuo naudojamo tipo, set_cursor pozicionuoja žymeklį pagal eilutės ir stulpelio dydį, o ne šrifto stilių. Šrifto dydį galima reguliuoti naudojant set_font.
Usage:robot.screen.set_cursor(row, column)
Parametrai |
Aprašymas |
|---|---|
|
Eilutė, į kurią reikia perkelti žymeklį. |
|
Stulpelis, į kurį reikia perkelti žymeklį. |
# 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 perkelia žymeklį į 1 stulpelį kitoje roboto ekrano eilutėje.
Usage:robot.screen.next_row()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# Display two lines of text
robot.screen.print("Line 1")
robot.screen.next_row()
robot.screen.print("Line 2")

clear_row#
clear_row išvalo vieną teksto eilutę roboto ekrane.
Usage:robot.screen.clear_row(row, color)
Parametras |
Aprašymas |
|---|---|
|
Pasirinktinai. Eilutė, kurią reikia išvalyti, kaip sveikasis skaičius. Numatytoji reikšmė yra dabartinė žymeklio eilutė. |
|
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 grąžina dabartinę eilutę, kurioje tekstas bus spausdinamas kaip sveikasis skaičius.
Usage:robot.screen.get_row()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# 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 grąžina dabartinį stulpelį, kuriame tekstas bus spausdinamas kaip sveikasis skaičius.
Usage:robot.screen.get_column()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# Set cursor to (3,2) and print column number
robot.screen.set_cursor(3, 2)
robot.screen.print(robot.screen.get_column())

XY spausdinimas#
print_at#
print_at spausdina tekstą, skaičius arba kintamųjų reikšmes roboto ekrane konkrečioje x ir y koordinatėje pikseliais, naudodamas šiuo metu nustatytas font ir origin. x nustato, kaip toli nuo kairės pusės prasideda tekstas, o y nustato, kur yra raidžių apačia. Šis metodas nepaiso dabartinės žymeklio pozicijos.

Pastaba: Raudonas apskritimas rodo, kurios koordinatės bus matomos AIM roboto apskritame ekrane. Koordinatės, esančios už raudono apskritimo ribų, yra 0–240 diapazone, bet ekrane nebus rodomos.
Usage:
robot.screen.print_at(text, x, y)
Parametras |
Aprašymas |
|---|---|
|
Tekstas, skaičius arba kintamoji reikšmė, kuri bus spausdinama ekrane. |
|
Teksto horizontali padėtis, nurodyta kaip sveikasis skaičius nuo 0 iki 240 pikselių. 0 yra kairėje; 240 yra dešinėje. |
|
Vertikali teksto padėtis, nurodyta kaip sveikasis skaičius nuo 0 iki 240 pikselių. 0 yra viršuje; 240 – apačioje. |
# Display a message in the middle of the screen
robot.screen.print_at("Hello, Robot!", x=40, y=120)

set_origin#
set_origin nustato piešimo ir koordinačių pagrindu spausdinimo roboto ekrane pradžios tašką. Pagal numatytuosius nustatymus pradžios taškas yra viršutinis kairysis ekrano kampas.
Usage:
robot.screen.set_origin(x, y)
Parametras |
Aprašymas |
|---|---|
|
Nauja x koordinatė, kurią reikia nustatyti kaip pradžios tašką, pateikiama kaip sveikasis skaičius nuo 0 iki 240. |
|
Nauja y koordinatė, kurią reikia nustatyti kaip pradžios tašką, pateikiama kaip sveikasis skaičius nuo 0 iki 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)

Mutatoriai#
clear_screen#
clear_screen išvalo visus piešinius ir tekstą iš roboto ekrano. Pagal numatytuosius nustatymus žymeklio pozicija taip pat atstatoma į 1 eilutę, 1 stulpelį.
Usage:
robot.screen.clear_screen(color)
Parametras |
Aprašymas |
|---|---|
|
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 nustato šriftą, naudojamą tekstui rodyti roboto ekrane. Šis šriftas bus taikomas visam tekstui, spausdinamam naudojant print arba print_at. Numatytasis šriftas projekto pradžioje yra MONO24.
Usage:
robot.screen.set_font(fontname)
Parametras |
Aprašymas |
|---|---|
|
Nustato vieną iš šių šrifto parinkčių:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
# Display text using a larger font
robot.screen.set_font(MONO40)
robot.screen.print("VEX")

set_pen_width#
set_pen_width nustato nubrėžtų linijų ir formos kontūrų storį.
Usage:
robot.screen.set_pen_width(width)
Parametras |
Aprašymas |
|---|---|
|
Rašiklio plotis pikseliais nuo 0 iki 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 nustato teksto, pikselių, linijų ir figūrų kontūrų spalvą.
Usage:
robot.screen.set_pen_color(color)
Parametras |
Aprašymas |
|---|---|
|
Optional. The pen and font color to use. Options include:
|
# 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 nustato užpildymo spalvą, naudojamą piešiant figūras ir spausdinant tekstą su fonu.
Usage:robot.screen.set_fill_color(color)
Parametras |
Aprašymas |
|---|---|
|
Optional. The fill color to use. Options include:
|
# 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")

Piešti#
draw_pixel#
draw_pixel nupiešia vieną pikselį pasirinktose x ir y koordinatėse, naudodamas dabartinę rašiklio spalvą.
Usage:
robot.screen.draw_pixel(x, y)
Parametras |
Aprašymas |
|---|---|
|
Pikselio x koordinatė, nurodyta sveikuoju skaičiumi nuo 0 iki 240, kur bus piešiamas pikselis. |
|
Y koordinatė, kur bus piešiamas pikselis, pateikiama kaip sveikasis skaičius nuo 0 iki 240. |
# Draw a pixel at the center of the screen
robot.screen.draw_pixel(120, 120)
![]()
draw_line#
draw_line nubrėžia liniją nuo pirmosios ekrano koordinatės (x1, y1) iki antrosios ekrano koordinatės (x2, y2) naudodama dabartinius pen width ir pen color parametrus.
X ir y koordinatėms naudojama numatytoji pradžios taškas (0, 0), nebent naudojant set_origin buvo nustatytas kitas pradžios taškas.
Usage:
robot.screen.draw_line(x1, y1, x2, y2)
Parametras |
Aprašymas |
|---|---|
|
Pradinė linijos x koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 240. |
|
Pradinė linijos y koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 240. |
|
Linijos galinė x koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 240. |
|
Linijos galinė y koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 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 nubrėžia stačiakampį, kurio viršutinis kairysis kampas yra pasirinktoje (x, y) koordinatėje, o dydis nustatomas pagal nurodytą plotį ir aukštį, visi matuojami pikseliais. Stačiakampio kontūras nubrėžiamas naudojant dabartinius pen width ir pen color. Vidus užpildomas dabartine fill color, nebent naudojamas pasirenkamas color parametras.
X ir y koordinatėms naudojama numatytoji pradžios taškas (0, 0), nebent naudojant set_origin buvo nustatytas kitas pradžios taškas.
Usage:robot.screen.draw_rectangle(x, y, width, height, color)
Parametras |
Aprašymas |
|---|---|
|
Stačiakampio viršutinio kairiojo kampo x koordinatė, nurodyta kaip sveikasis skaičius nuo 0 iki 240. |
|
Stačiakampio viršutinio kairiojo kampo y koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 240. |
|
Stačiakampio plotis, nurodytas kaip sveikasis skaičius nuo 0 iki 240. |
|
Stačiakampio aukštis, nurodytas kaip sveikasis skaičius nuo 0 iki 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 nubrėžia apskritimą, kurio centras yra pasirinktoje (x, y) koordinatėje, o dydis nustatomas pagal duotą spindulį, visi matuojami pikseliais. Apskritimo kontūras nubrėžiamas naudojant dabartinius pen width ir pen color. Vidus užpildomas dabartine fill color, nebent naudojamas pasirenkamas color parametras.
X ir y koordinatėms naudojama numatytoji pradžios taškas (0, 0), nebent naudojant set_origin buvo nustatytas kitas pradžios taškas.
Usage:robot.screen.draw_circle(x, y, radius, color)
Parametras |
Aprašymas |
|---|---|
|
Apskritimo centro x koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 240. |
|
Apskritimo centro y koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 240. |
|
Apskritimo spindulys, nurodytas kaip sveikasis skaičius nuo 0 iki 240 pikselių. |
|
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#
show_file roboto ekrane rodo pasirinktinai įkeltą vaizdą, kurio padėtis nustatyta naudojant x, yir center parametrus, pagrįstus vaizdo atskaitos tašku.
Usage:
robot.screen.show_file(file, x, y, center)
Parametras |
Aprašymas |
|---|---|
|
Naudojamas pasirinktinis vaizdas nuo |
|
Vaizdo horizontalus poslinkis, pateikiamas kaip sveikasis skaičius pikseliais. Teigiamos vertės perkelia vaizdą į dešinę, neigiamos – į kairę. |
|
Vertikalus vaizdo poslinkis, pateikiamas kaip sveikasis skaičius pikseliais. Teigiamos vertės jį perkelia žemyn, o neigiamos – aukštyn. |
|
Pasirinktinai. Jei |
# 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 apibrėžia stačiakampę ekrano sritį, kurioje bus visi piešiniai ir tekstas. Turinys už šios srities ribų nebus rodomas.
Usage:
robot.screen.set_clip_region(x, y, width, height)
Parametras |
Aprašymas |
|---|---|
|
Viršutinio kairiojo iškirpimo srities kampo x koordinatė, pateikta dešimtainiu skaičiumi ( |
|
Viršutinio kairiojo iškirpimo srities kampo y koordinatė, pateikta dešimtainiu skaičiumi ( |
|
Įrašymo srities plotis pikseliais, pateikiamas dešimtainiu skaičiumi ( |
|
Įrašymo srities aukštis pikseliais, pateikiamas dešimtainiu skaičiumi ( |
# 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)

Atgaliniai skambučiai#
pressed#
pressed užregistruoja metodą, kuris bus iškviestas paspaudus roboto ekraną.
Usage:robot.screen.pressed(callback, arg)
Parametrai |
Aprašymas |
|---|---|
|
Funkcija, kuri anksčiau buvo apibrėžta vykdyti paspaudus valdiklio ekraną. |
|
Pasirinktinai. Tuple su argumentais, kuriuos reikia perduoti atgalinio iškvietimo funkcijai. Daugiau informacijos žr. Funkcijų su parametrais naudojimas. |
# 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 užregistruoja metodą, kuris bus iškviestas, kai bus paleistas roboto ekranas.
Usage:robot.screen.released(callback, arg)
Parametrai |
Aprašymas |
|---|---|
|
Funkcija, kuri anksčiau buvo apibrėžta vykdyti paspaudus valdiklio ekraną. |
|
Pasirinktinai. Tuple su argumentais, kuriuos reikia perduoti atgalinio iškvietimo funkcijai. Daugiau informacijos žr. Funkcijų su parametrais naudojimas. |
# Set the LEDs to blue when the screen is released.
def screen_released():
robot.led.on(ALL_LEDS, BLUE)
robot.screen.released(screen_released)










