Ekranas#
Įvadas#
Ekrano metodai kontroliuoja, kaip „VEX AIR“ drono valdiklis ekrane rodo tekstą, skaičius, grafiką ir vaizdus, ir kaip jis reaguoja į ekrano paspaudimus.
Žemiau pateikiamas galimų metodų sąrašas:
Žymeklio spausdinimas – rodyti tekstą ir valdyti spausdinimo žymeklį.
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 eilutę, kurioje bus spausdinamas tekstas.get_column– Grąžina stulpelį, kuriame bus spausdinamas tekstas.
XY spausdinimas – spausdina tekstą pikselių pagrindu.
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 – keičia ekrano nustatymus, spalvas ir piešimo elgseną.
clear_screen– Iš valdiklio ekrano išvalo visus piešinius, tekstą ir vaizdus.wait_for_render– Perjungia ekrano braižymą į render-later elgseną.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_text_fill_color– Nustato spausdinto teksto užpildymo spalvą.set_fill_color– Nustato nupieštų formų užpildymo spalvą.
Piešimas – pridėkite grafikos ir vaizdų prie ekrano.
draw_pixel– Nubraižo vieną pikselį konkrečioje x ir y pozicijoje.draw_line– Nubrėžia liniją tarp dviejų taškų.draw_rectangle– Nubrėžia stačiakampį naudodamas dabartines rašiklio ir užpildymo spalvas.draw_circle– Nubrėžia apskritimą naudodamas dabartinį rašiklį ir užpildymo spalvas.show_file– Nubraižo įkeltą paveikslėlį.
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ę.
Atgaliniai iškvietimai – paleidžiamos funkcijos, kai paspaudžiamas arba atleidžiamas ekranas.
Žymeklio spausdinimas#
print#
print spausdina tekstą, skaičius arba kintamųjų reikšmes valdiklio ekrane dabartinėje žymeklio padėtyje ir šrifto vietose.
Usage:
controller.screen.print(text)
Parametrai |
Aprašymas |
|---|---|
|
Tekstas, skaičius arba kintamoji reikšmė, kuri bus spausdinama ekrane. |
|
Pasirinktinai. Skirtukas tarp spausdinto teksto. Pagal numatytuosius nustatymus |
|
Pasirinktinai. Eilutė, pridedama po paskutinio atspausdinto teksto. Pagal numatytuosius nustatymus |
|
Pasirinktinai. Slankiojo kablelio skaitmenų skaičius po kablelio, kurį atspausdins kaip sveikąjį skaičių. Pagal numatytuosius nustatymus, tikslumas |
# 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 perkelia žymeklį į konkrečią eilutę ir stulpelį valdiklio ekrane. Kitas print iškvietimas pradės spausdinti toje vietoje. Eilučių ir stulpelių tarpai bus nustatomi atsižvelgiant į pasirinktą šriftą. Naudojant numatytąjį vienodo tarpo vidutinį šriftą, ekrane gali būti aiškiai rodoma iki 18 eilučių ir 53 stulpelių. Tekstas, esantis už šio diapazono ribų, gali būti nukirptas arba sunkiau įskaitomas.
Usage:
controller.screen.set_cursor(row, col)
Parametrai |
Aprašymas |
|---|---|
|
Eilutė, į kurią reikia perkelti žymeklį. |
|
Stulpelis, į kurį reikia perkelti žymeklį. |
# 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 perkelia žymeklį į 1 stulpelį kitoje valdiklio ekrano eilutėje.
Usage:
controller.screen.next_row()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# Display two lines of text.
controller.screen.print("Line 1")
controller.screen.next_row()
controller.screen.print("Line 2")

clear_row#
clear_row išvalo teksto eilutę valdiklio ekrane.
Usage:
controller.screen.clear_row(row, color)
Parametras |
Aprašymas |
|---|---|
|
Pasirinktinai. Eilutė, kurią reikia išvalyti. Numatytoji reikšmė yra dabartinė žymeklio eilutė. |
|
Pasirinktinai. Spalva, kuri bus taikoma išvalytai eilutei. Jei spalva nenurodyta, naudojama
|
# 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 grąžina dabartinę eilutę, kurioje bus spausdinamas tekstas, kaip sveikąjį skaičių.
Usage:
controller.screen.get_row()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# 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 grąžina dabartinį stulpelį, kuriame bus spausdinamas tekstas, kaip sveikąjį skaičių.
Usage:
controller.screen.get_column()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# Display the cursor's current column.
controller.screen.set_cursor(row=7, col=25)
controller.screen.print(controller.screen.get_column())

XY spausdinimas#
print_at#
print_at spausdina tekstą, skaičius arba kintamųjų reikšmes valdiklio ekrane konkrečioje (x, y) pikselių pozicijoje, naudodamas dabartinius 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.
Usage:
controller.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 640 pikselių. 0 yra kairėje; 640 yra dešinėje. |
|
Vertikali teksto padėtis, nurodyta kaip sveikasis skaičius nuo 0 iki 480 pikselių. 0 yra viršuje; 480 – apačioje. |
# Display a message in the middle of the screen.
controller.screen.print_at("Hello, drone!", x=320, y=240)

set_origin#
set_origin nustato pradžios tašką (0, 0), naudojamą piešimui ir spausdinimui pagal koordinates valdiklio ekrane. Pagal numatytuosius nustatymus pradžios taškas yra viršutinis kairysis ekrano kampas. Šis metodas gali atkurti pradžios tašką į alternatyvią (x, y) ekrano koordinačių vietą.
Usage:
controller.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 640. |
|
Nauja y koordinatė, kurią reikia nustatyti kaip pradžios tašką, pateikiama kaip sveikasis skaičius nuo 0 iki 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)

Mutatoriai#
clear_screen#
clear_screen išvalo visus piešinius, tekstą ir vaizdus iš valdiklio ekrano.
Usage:
controller.screen.clear_screen(row, col, color)
Parametras |
Aprašymas |
|---|---|
|
Pasirinktinai. Eilutė, į kurią reikia perkelti žymeklį išvalius ekraną. Numatytoji reikšmė yra 1. |
|
Pasirinktinai. Stulpelis, į kurį reikia perkelti žymeklį išvalius ekraną. Numatytoji reikšmė yra 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 perjungia ekrano braižymą į „render-later“ elgseną. Paleidus šį metodą, sekančios ekrano komandos valdiklio ekrane nebus rodomos, kol nebus paleistas kitas wait_for_render metodas.
Pastaba: Naudokite tai prieš piešdami teksto, formų ar vaizdų grupę, o tada dar kartą, kad iš karto pateiktumėte visą atnaujinimą.
Usage:
controller.screen.wait_for_render()
Parametras |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# 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 nustato šriftą, naudojamą tekstui rodyti valdiklio ekrane. Šis šriftas bus taikomas visam tekstui, atspausdintam paleidus šį metodą. Numatytasis šriftas projekto pradžioje yra MONO20.
Usage:
controller.screen.set_font(fontname)
Parametras |
Aprašymas |
|---|---|
|
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 nustato nubrėžtų linijų ir formos kontūrų storį.
Usage:
controller.screen.set_pen_width(width)
Parametras |
Aprašymas |
|---|---|
|
Rašiklio plotis, nurodytas kaip sveikasis skaičius pikseliais. |
# 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 nustato teksto, pikselių, linijų ir figūrų kontūrų spalvą.
Usage:
controller.screen.set_pen_color(color)
Parametras |
Aprašymas |
|---|---|
|
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 nustato spausdinamo teksto užpildymo spalvą. Numatytoji teksto užpildymo spalva yra skaidri.
Usage:
controller.screen.set_text_fill_color(color)
Parametras |
Aprašymas |
|---|---|
|
Pasirinktinai. Nustato teksto užpildymo spalvą. Parinktys:
WHITE |
# 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 nustato užpildymo spalvą, naudojamą piešiant figūras. Numatytoji užpildymo spalva yra juoda.
Usage:
controller.screen.set_fill_color(color)
Parametras |
Aprašymas |
|---|---|
|
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)

Piešti#
draw_pixel#
draw_pixel nupiešia vieną pikselį pasirinktose x ir y koordinatėse, naudodamas dabartinę rašiklio spalvą.
Usage:
controller.screen.draw_pixel(x, y)
Parametras |
Aprašymas |
|---|---|
|
Pikselio x koordinatė, nurodyta sveikuoju skaičiumi nuo 0 iki 640, kur bus piešiamas pikselis. |
|
Y koordinatė, kur bus piešiamas pikselis, pateikiama kaip sveikasis skaičius nuo 0 iki 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 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:
controller.screen.draw_line(x1, y1, x2, y2)
Parametras |
Aprašymas |
|---|---|
|
Pradinė linijos x koordinatė, nurodyta kaip sveikasis skaičius nuo 0 iki 640. |
|
Pradinė linijos y koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 480. |
|
Linijos galinė x koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 640. |
|
Linijos galinė y koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 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 nubrėžia stačiakampį naudodamas dabartines pen width, pen color ir fill color reikšmes, 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:
controller.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 640. |
|
Stačiakampio viršutinio kairiojo kampo y koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 480. |
|
Stačiakampio plotis, nurodytas kaip sveikasis skaičius nuo 0 iki 640. |
|
Stačiakampio aukštis, nurodytas kaip sveikasis skaičius nuo 0 iki 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 nubrėžia apskritimą naudodamas dabartines pen width, pen color ir fill color reikšmes, 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:
controller.screen.draw_circle(x, y, radius, color)
Parametras |
Aprašymas |
|---|---|
|
Apskritimo centro x koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 640. |
|
Apskritimo centro y koordinatė, pateikta kaip sveikasis skaičius nuo 0 iki 480. |
|
Apskritimo spindulys, nurodytas kaip sveikasis skaičius nuo 0 iki 480 pikselių. |
|
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 valdiklio ekrane x ir y pozicijose piešia pasirinktinį įkeltą vaizdą su pasirinktiniu mastelio keitimu, pasukimu ir alfa skaidrumu.
Usage:
controller.screen.show_file(file, x, y, scale_width, scale_height, rotation, use_alpha)
Parametras |
Aprašymas |
|---|---|
|
Naudotojo įkeltas paveikslėlis. Parinktys pasikeis, jei paveikslėlių pavadinimai bus redaguoti valdymo skydelyje. |
|
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. Vaizdo plotis, kurio mastelis keičiamas, pateikiamas kaip sveikasis skaičius pikseliais. |
|
Pasirinktinai. Vaizdo aukštis, kurio mastelis keičiamas, pateikiamas kaip sveikasis skaičius pikseliais. |
|
Pasirinktinai. Laipsnių skaičius, kuriuo reikia pasukti vaizdą, pateikiamas kaip sveikasis skaičius nuo 0 iki 359. |
|
Pasirinktinai. Ar naudoti vaizdo alfa kanalą skaidrumui. Parinktys: |
# 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)
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:
controller.screen.pressing()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# 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 grąžina x koordinatę pikseliais, kur ekranas buvo paskutinį kartą paspaustas, kaip sveikąjį skaičių nuo 0 (kairėje) iki 640 (dešinėje).

Usage:
controller.screen.x_position()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# 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 grąžina y koordinatę pikseliais, kur ekranas buvo paskutinį kartą paspaustas, kaip sveikąjį skaičių nuo 0 (viršuje) iki 480 (apačioje).

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)
Atgaliniai skambučiai#
pressed#
Paspaustas pressed užregistruoja funkciją, kuri bus iškviesta paspaudus valdiklio ekraną.
Usage:
controller.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. |
# Play a sound when the screen is pressed.
def play_sound():
controller.sound.play_note("C5", 500)
controller.screen.pressed(play_sound)
released#
released užregistruoja funkciją, kuri bus iškviesta atleidus valdiklio ekraną.
Usage:
controller.screen.released(callback, arg)
Parametrai |
Aprašymas |
|---|---|
|
Funkcija, kuri anksčiau buvo apibrėžta vykdyti atleidus valdiklio ekraną. |
|
Pasirinktinai. Tuple su argumentais, kuriuos reikia perduoti atgalinio iškvietimo funkcijai. Daugiau informacijos žr. Funkcijų su parametrais naudojimas. |
# Play a sound when the screen is pressed.
def play_sound():
controller.sound.play_note("C5", 500)
controller.screen.released(play_sound)













