Skärm#
Introduktion#
Skärmmetoderna styr hur VEX AIR Drone Controller visar text, siffror, grafik och bilder på skärmen, och hur den reagerar på skärmtryckningar.
Nedan följer en lista över tillgängliga metoder:
Markörutskrift – Visa text och hantera utskriftsmarkören.
print– Skriver ut text, siffror eller variabelvärden vid markörens aktuella position.set_cursor– Flyttar markören till en specifik rad och kolumn.next_row– Flyttar markören till kolumn 1 på nästa rad.clear_row– Rensar en textrad.get_row– Returnerar raden där texten ska skrivas ut.get_column– Returnerar kolumnen där texten ska skrivas ut.
XY-utskrift – Skriv ut text med pixelbaserade koordinater.
print_at– Skriver ut text, siffror eller variabelvärden vid en specifik x- och y-koordinat.set_origin– Anger origo som används för koordinatbaserad utskrift och ritning.
Mutatorer – Ändra skärminställningar, färger och ritbeteende.
clear_screen– Tar bort alla ritningar, text och bilder från kontrollskärmen.wait_for_render– Växlar mellan skärmteckning och rendering senare.set_font– Anger teckensnittet för utskriven text.set_pen_width– Anger tjockleken på ritade linjer och formens konturer.set_pen_color– Ställer in färgen på text, pixlar, linjer och konturer.set_text_fill_color– Anger fyllningsfärgen bakom utskriven text.set_fill_color– Anger fyllningsfärgen för ritade former.
Rita – Lägg till grafik och bilder på skärmen.
draw_pixel– Ritar en pixel vid en specifik x- och y-position.draw_line– Ritar en linje mellan två punkter.draw_rectangle– Ritar en rektangel med den aktuella pennan och fyllningsfärgerna.draw_circle– Ritar en cirkel med den aktuella pennan och fyllningsfärgerna.show_file– Ritar en uppladdad bild.
Pekskärm – Upptäck och reagera på skärmtryckningar.
pressing– Returnerar om skärmen trycks ned för närvarande.x_position– Returnerar x-koordinaten för det senaste skärmtrycket.y_position– Returnerar y-koordinaten för det senaste skärmtrycket.
Återuppringningar – Kör funktioner när skärmen trycks eller släpps.
Markörutskrift#
print#
print skriver ut text, siffror eller variabelvärden på kontrollenhetens skärm vid aktuell markörposition och font.
Usage:
controller.screen.print(text)
Parametrar |
Beskrivning |
|---|---|
|
Texten, talet eller variabelvärdet som ska skrivas ut på skärmen. |
|
Valfritt. Avgränsaren mellan utskriven text. Som standard är |
|
Valfritt. Strängen som läggs till efter den senast utskrivna texten. Som standard är |
|
Valfritt. Antalet decimaler som ett flyttal skrivs ut med som ett heltal. Som standard är |
# 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 flyttar markören till en specifik rad och kolumn på kontrollenhetens skärm. Nästa print anrop börjar skriva ut på den platsen. Rad- och kolumnavståndet kommer att ta hänsyn till det valda teckensnittet. Med standardteckensnittet med enstaka rader kan skärmen tydligt visa upp till 18 rader och 53 kolumner. Text som placeras utanför detta intervall kan bli avskuren eller svårare att läsa.
Usage:
controller.screen.set_cursor(row, col)
Parametrar |
Beskrivning |
|---|---|
|
Raden att flytta markören till. |
|
Kolumnen att flytta markören till. |
# 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 flyttar markören till kolumn 1 på nästa rad på kontrollenhetens skärm.
Usage:
controller.screen.next_row()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# Display two lines of text.
controller.screen.print("Line 1")
controller.screen.next_row()
controller.screen.print("Line 2")

clear_row#
clear_row rensar en textrad på kontrollenhetens skärm.
Usage:
controller.screen.clear_row(row, color)
Parameter |
Beskrivning |
|---|---|
|
Valfritt. Raden som ska rensas. Standardinställningen är den aktuella markörraden. |
|
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 returnerar den aktuella raden där texten ska skrivas ut, som ett heltal.
Usage:
controller.screen.get_row()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# 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 returnerar den aktuella kolumnen där texten ska skrivas ut, som ett heltal.
Usage:
controller.screen.get_column()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# Display the cursor's current column.
controller.screen.set_cursor(row=7, col=25)
controller.screen.print(controller.screen.get_column())

XY-utskrift#
print_at#
print_at skriver ut text, siffror eller variabelvärden på kontrollenhetens skärm vid en specifik position (x, y) i pixlar, med hjälp av aktuella font och origin. x anger hur långt från vänster sida texten börjar, och y anger var bokstävernas nederkant sitter. Denna metod bortser från markörens aktuella position.
Usage:
controller.screen.print_at(text, x, y)
Parameter |
Beskrivning |
|---|---|
|
Texten, talet eller variabelvärdet som ska skrivas ut på skärmen. |
|
Textens horisontella position, som ett heltal från 0 till 640 pixlar. 0 är vänster; 640 är höger. |
|
Textens vertikala position, som ett heltal från 0 till 480 pixlar. 0 är toppen; 480 är botten. |
# Display a message in the middle of the screen.
controller.screen.print_at("Hello, drone!", x=320, y=240)

set_origin#
set_origin anger origo (0, 0) som används för ritning och koordinatbaserad utskrift på kontrollenhetens skärm. Som standard är origo skärmens övre vänstra hörn. Den här metoden kan återställa origo till en alternativ (x, y) skärmkoordinatposition.
Usage:
controller.screen.set_origin(x, y)
Parameter |
Beskrivning |
|---|---|
|
Den nya x-koordinaten som ska sättas som origo, angiven som ett heltal från 0 till 640. |
|
Den nya y-koordinaten som ska ställas in som origo, angiven som ett heltal från 0 till 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)

Mutatorer#
clear_screen#
clear_screen rensar alla ritningar, text och bilder från kontrollskärmen.
Usage:
controller.screen.clear_screen(row, col, color)
Parameter |
Beskrivning |
|---|---|
|
Valfritt. Raden som markören ska flyttas till efter att skärmen har rensats. Standardinställningen är 1. |
|
Valfritt. Kolumnen som markören ska flyttas till efter att skärmen har rensats. Standardinställningen är 1. |
|
Valfritt. Ställer in skärmfärgen. Om
|
# 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 växlar skärmritning till rendering-senare-beteende. När den här metoden körs kommer följande skärmkommandon inte att visas på kontrollenhetens skärm förrän nästa wait_for_render metod körs.
Obs! Använd detta innan du ritar en grupp text, former eller bilder, och använd det sedan igen för att rendera hela uppdateringen på en gång.
Usage:
controller.screen.wait_for_render()
Parameter |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# 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 anger teckensnittet som används för att visa text på kontrollenhetens skärm. Detta teckensnitt gäller för all text som skrivs ut efter att den här metoden körts. Standardteckensnittet i början av ett projekt är MONO20.
Usage:
controller.screen.set_font(fontname)
Parameter |
Beskrivning |
|---|---|
|
Ställer in teckensnittet till ett av följande:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
# Display text using a larger font.
controller.screen.set_font(MONO40)
controller.screen.print("VEX")

set_pen_width#
set_pen_width anger tjockleken på ritade linjer och formens konturer.
Usage:
controller.screen.set_pen_width(width)
Parameter |
Beskrivning |
|---|---|
|
Pennans bredd, angiven som heltal i pixlar. |
# 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 anger färgen på text, pixlar, linjer och konturer.
Usage:
controller.screen.set_pen_color(color)
Parameter |
Beskrivning |
|---|---|
|
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 anger fyllningsfärgen bakom tryckt text. Standardfyllningsfärgen för texten är transparent.
Usage:
controller.screen.set_text_fill_color(color)
Parameter |
Beskrivning |
|---|---|
|
Valfritt. Ställer in textens fyllningsfärg. Alternativen inkluderar:
|
# 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 anger fyllningsfärgen som används när former ritas. Standardfyllningsfärgen är svart.
Usage:
controller.screen.set_fill_color(color)
Parameter |
Beskrivning |
|---|---|
|
Valfritt. Ställer in fyllningsfärgen. Alternativen inkluderar:
|
# 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)

Dra#
draw_pixel#
draw_pixel ritar en pixel vid de valda x- och y-koordinaterna med den aktuella pennfärgen.
Usage:
controller.screen.draw_pixel(x, y)
Parameter |
Beskrivning |
|---|---|
|
X-koordinaten där pixeln kommer att ritas, angiven som ett heltal från 0 till 640. |
|
Y-koordinaten där pixeln kommer att ritas, angiven som ett heltal från 0 till 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 ritar en linje från den första skärmkoordinaten (x1, y1) till den andra skärmkoordinaten (x2, y2) med hjälp av aktuell pennbredd och pennfärg.
X- och y-koordinaterna använder standardoriginet (0, 0) om inte ett annat origin har angetts med set_origin.
Usage:
controller.screen.draw_line(x1, y1, x2, y2)
Parameter |
Beskrivning |
|---|---|
|
Linjens start-x-koordinat, angiven som ett heltal från 0 till 640. |
|
Linjens start-y-koordinat, angiven som ett heltal från 0 till 480. |
|
Linjens avslutande x-koordinat, angiven som ett heltal från 0 till 640. |
|
Linjens slutliga y-koordinat, angiven som ett heltal från 0 till 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 ritar en rektangel med hjälp av aktuell pennbredd, pennfärg och fyllningsfärg, såvida inte den valfria parametern color används.
X- och y-koordinaterna använder standardoriginet (0, 0) om inte ett annat origin har angetts med set_origin.
Usage:
controller.screen.draw_rectangle(x, y, width, height, color)
Parameter |
Beskrivning |
|---|---|
|
X-koordinaten för rektangelns övre vänstra hörn, angiven som ett heltal från 0 till 640. |
|
Y-koordinaten för rektangelns övre vänstra hörn, angiven som ett heltal från 0 till 480. |
|
Rektangelns bredd, angiven som ett heltal från 0 till 640. |
|
Rektangelns höjd, angiven som ett heltal från 0 till 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 ritar en cirkel med hjälp av aktuell pennbredd, pennfärg och fyllningsfärg, såvida inte den valfria parametern color används.
X- och y-koordinaterna använder standardoriginet (0, 0) om inte ett annat origin har angetts med set_origin.
Usage:
controller.screen.draw_circle(x, y, radius, color)
Parameter |
Beskrivning |
|---|---|
|
X-koordinaten för cirkelns centrum, angiven som ett heltal från 0 till 640. |
|
Y-koordinaten för cirkelns centrum, angiven som ett heltal från 0 till 480. |
|
Cirkelns radie, angiven som ett heltal från 0 till 480 pixlar. |
|
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 ritar en anpassad uppladdad bild på kontrollenhetens skärm vid en x- och y-position, med valfri skalning, rotation och alfatransparens.
Usage:
controller.screen.show_file(file, x, y, scale_width, scale_height, rotation, use_alpha)
Parameter |
Beskrivning |
|---|---|
|
Den användaruppladdade bilden som ska användas. Alternativen ändras om bildnamn redigeras i kontrollpanelen. |
|
Bildens horisontella förskjutning, angiven som ett heltal i pixlar. Positiva värden flyttar den åt höger; negativa värden flyttar den åt vänster. |
|
Bildens vertikala förskjutning, angiven som ett heltal i pixlar. Positiva värden flyttar den nedåt; negativa värden flyttar den uppåt. |
|
Valfritt. Bildbredden som skalas till, angiven som ett heltal i pixlar. |
|
Valfritt. Bildhöjden som skalas till, angiven som ett heltal i pixlar. |
|
Valfritt. Antalet grader som bilden ska roteras, angivet som ett heltal från 0 till 359. |
|
Valfritt. Om bildens alfakanal ska användas för transparens. Alternativen inkluderar: |
# 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)
Röra#
pressing#
pressing returnerar ett booleskt värde som anger om robotens skärm trycks ned för närvarande.
True– Skärmen trycks ned.False– Skärmen trycks inte.
Usage:
controller.screen.pressing()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# 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 returnerar x-koordinaten i pixlar där skärmen senast trycktes på, som ett heltal från 0 (vänster) till 640 (höger).

Usage:
controller.screen.x_position()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# 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 returnerar y-koordinaten i pixlar där skärmen senast trycktes på, som ett heltal från 0 (överst) till 480 (nederst).

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)
Återuppringningar#
pressed#
pressed registrerar en funktion som ska anropas när kontrollskärmen trycks ned.
Usage:
controller.screen.pressed(callback, arg)
Parametrar |
Beskrivning |
|---|---|
|
En funktion som tidigare är definierad att köras när kontrollskärmen trycks ned. |
|
Valfritt. En tupel som innehåller argument som ska skickas till callback-funktionen. Se Använda funktioner med parametrar för mer information. |
# Play a sound when the screen is pressed.
def play_sound():
controller.sound.play_note("C5", 500)
controller.screen.pressed(play_sound)
released#
released registrerar en funktion som ska anropas när kontrollskärmen släpps.
Usage:
controller.screen.released(callback, arg)
Parametrar |
Beskrivning |
|---|---|
|
En funktion som tidigare är definierad att köras när kontrollskärmen släpps. |
|
Valfritt. En tupel som innehåller argument som ska skickas till callback-funktionen. Se Använda funktioner med parametrar för mer information. |
# Play a sound when the screen is pressed.
def play_sound():
controller.sound.play_note("C5", 500)
controller.screen.released(play_sound)













