Scherm#
Invoering#
De scherminstellingen bepalen hoe de VEX AIR dronecontroller tekst, cijfers, afbeeldingen en grafieken op het scherm weergeeft en hoe deze reageert op aanrakingen van het scherm.
Hieronder vindt u een lijst met beschikbare methoden:
Cursor Print – Tekst weergeven en de printcursor beheren.
print– Drukt tekst, getallen of variabele waarden af op de huidige cursorpositie.set_cursor– Verplaatst de cursor naar een specifieke rij en kolom.next_row– Verplaatst de cursor naar kolom 1 van de volgende rij.clear_row– Maakt een rij tekst leeg.get_row– Geeft de rij terug waar de tekst zal worden afgedrukt.get_column– Geeft de kolom terug waar de tekst wordt afgedrukt.
XY Print – Tekst afdrukken op pixelcoördinaten.
print_at– Drukt tekst, getallen of variabele waarden af op een specifieke x- en y-coördinaat.set_origin– Stelt de oorsprong in die wordt gebruikt voor coördinatengebaseerd afdrukken en tekenen.
Mutators – Wijzig scherminstellingen, kleuren en tekengedrag.
clear_screen– Verwijdert alle tekeningen, tekst en afbeeldingen van het controllerscherm.wait_for_render– Schakelt het tekenen van het scherm over naar gedrag waarbij het later wordt weergegeven.set_font– Stelt het lettertype in voor de afgedrukte tekst.set_pen_width– Stelt de dikte in van getekende lijnen en vormcontouren.set_pen_color– Stelt de kleur in van tekst, pixels, lijnen en vormcontouren.set_text_fill_color– Stelt de opvulkleur achter de afgedrukte tekst in.set_fill_color– Stelt de vulkleur in voor getekende vormen.
Tekenen – Voeg afbeeldingen en grafische elementen toe aan het scherm.
draw_pixel– Tekent één pixel op een specifieke x- en y-positie.draw_line– Tekent een lijn tussen twee punten.draw_rectangle– Tekent een rechthoek met de huidige pen- en vulkleuren.draw_circle– Tekent een cirkel met de huidige pen- en vulkleuren.show_file– Tekent een geüploade afbeelding.
Aanraakbediening – Detecteert en reageert op aanrakingen van het scherm.
pressing– Geeft aan of het scherm momenteel wordt ingedrukt.x_position– Geeft de x-coördinaat van de laatst aangeklikte schermtoets terug.y_position– Geeft de y-coördinaat van de laatst aangeklikte schermtoets terug.
Callbacks – Voeren functies uit wanneer het scherm wordt ingedrukt of losgelaten.
Cursor Print#
print#
print print tekst, getallen of variabele waarden op het controllerscherm op de huidige cursorpositie en lettertype.
Usage:
controller.screen.print(text)
Parameters |
Beschrijving |
|---|---|
|
De tekst, het getal of de variabele waarde die op het scherm moet worden weergegeven. |
|
Optioneel. Het scheidingsteken tussen afgedrukte tekst. Standaard is |
|
Optioneel. De tekenreeks die na de laatst afgedrukte tekst wordt toegevoegd. Standaard is dit |
|
Optioneel. Het aantal decimalen waarmee een float als geheel getal wordt afgedrukt. Standaard is dit |
# 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 verplaatst de cursor naar een specifieke rij en kolom op het controllerscherm. De volgende print aanroep begint met afdrukken op die locatie. De rij- en kolomafstand wordt aangepast aan het geselecteerde lettertype. Met het standaard monospace medium lettertype kan het scherm maximaal 18 rijen en 53 kolommen duidelijk weergeven. Tekst die buiten dit bereik wordt geplaatst, kan worden afgesneden of moeilijker leesbaar zijn.
Usage:
controller.screen.set_cursor(row, col)
Parameters |
Beschrijving |
|---|---|
|
De rij waarnaar de cursor moet worden verplaatst. |
|
De kolom waarnaar de cursor moet worden verplaatst. |
# 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 verplaatst de cursor naar kolom 1 op de volgende rij in het controllerscherm.
Usage:
controller.screen.next_row()
Parameters |
Beschrijving |
|---|---|
Deze methode heeft geen parameters. |
# Display two lines of text.
controller.screen.print("Line 1")
controller.screen.next_row()
controller.screen.print("Line 2")

clear_row#
clear_row wist een regel tekst op het controllerscherm.
Usage:
controller.screen.clear_row(row, color)
Parameter |
Beschrijving |
|---|---|
|
Optioneel. De rij die moet worden gewist. Standaard is dit de huidige cursorrij. |
|
Optioneel. De kleur die moet worden toegepast op de gewiste rij. Als er geen kleur is opgegeven, wordt
|
# 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 retourneert de huidige regel waar de tekst wordt afgedrukt, als een geheel getal.
Usage:
controller.screen.get_row()
Parameters |
Beschrijving |
|---|---|
Deze methode heeft geen parameters. |
# 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 retourneert de huidige kolom waarin de tekst wordt afgedrukt, als een geheel getal.
Usage:
controller.screen.get_column()
Parameters |
Beschrijving |
|---|---|
Deze methode heeft geen parameters. |
# Display the cursor's current column.
controller.screen.set_cursor(row=7, col=25)
controller.screen.print(controller.screen.get_column())

XY-afdruk#
print_at#
print_at print tekst, getallen of variabele waarden op het controllerscherm op een specifieke (x, y) positie in pixels, met gebruikmaking van het huidige font en origin. x bepaalt hoe ver de tekst vanaf de linkerkant begint, en y bepaalt waar de onderkant van de letters zich bevindt. Deze methode negeert de huidige cursorpositie.
Usage:
controller.screen.print_at(text, x, y)
Parameter |
Beschrijving |
|---|---|
|
De tekst, het getal of de variabele waarde die op het scherm moet worden weergegeven. |
|
De horizontale positie van de tekst, als een geheel getal van 0 tot 640 pixels. 0 is links; 640 is rechts. |
|
De verticale positie van de tekst, als een geheel getal van 0 tot 480 pixels. 0 is de bovenkant; 480 is de onderkant. |
# Display a message in the middle of the screen.
controller.screen.print_at("Hello, drone!", x=320, y=240)

set_origin#
set_origin stelt de oorsprong (0, 0) in die wordt gebruikt voor tekenen en coördinaatgebaseerd afdrukken op het controllerscherm. Standaard is de oorsprong de linkerbovenhoek van het scherm. Met deze methode kan de oorsprong worden gewijzigd naar een andere (x, y) schermcoördinaat.
Usage:
controller.screen.set_origin(x, y)
Parameter |
Beschrijving |
|---|---|
|
De nieuwe x-coördinaat die als oorsprong moet worden ingesteld, wordt gegeven als een geheel getal van 0 tot 640. |
|
De nieuwe y-coördinaat die als oorsprong moet worden ingesteld, wordt gegeven als een geheel getal van 0 tot 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)

Mutators#
clear_screen#
clear_screen wist alle tekeningen, tekst en afbeeldingen van het controllerscherm.
Usage:
controller.screen.clear_screen(row, col, color)
Parameter |
Beschrijving |
|---|---|
|
Optioneel. De rij waarnaar de cursor moet worden verplaatst na het wissen van het scherm. De standaardwaarde is 1. |
|
Optioneel. De kolom waarnaar de cursor moet worden verplaatst na het wissen van het scherm. De standaardwaarde is 1. |
|
Optioneel. Stelt de schermkleur in. Als
|
# 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 schakelt het tekenen van het scherm over naar ‘later renderen’. Zodra deze methode is uitgevoerd, zullen de volgende schermopdrachten niet op het controllerscherm verschijnen totdat de volgende wait_for_render methode is uitgevoerd.
Let op: Gebruik dit voordat je een groep tekst, vormen of afbeeldingen tekent, en gebruik het vervolgens opnieuw om de volledige update in één keer weer te geven.
Usage:
controller.screen.wait_for_render()
Parameter |
Beschrijving |
|---|---|
Deze methode heeft geen parameters. |
# 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 stelt het lettertype in dat wordt gebruikt voor het weergeven van tekst op het controllerscherm. Dit lettertype wordt toegepast op alle tekst die wordt afgedrukt nadat deze methode is uitgevoerd. Het standaardlettertype aan het begin van een project is MONO20.
Usage:
controller.screen.set_font(fontname)
Parameter |
Beschrijving |
|---|---|
|
Stelt het lettertype in op een van de volgende opties:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
# Display text using a larger font.
controller.screen.set_font(MONO40)
controller.screen.print("VEX")

set_pen_width#
set_pen_width stelt de dikte in van getekende lijnen en vormcontouren.
Usage:
controller.screen.set_pen_width(width)
Parameter |
Beschrijving |
|---|---|
|
De penbreedte, weergegeven als een geheel getal in pixels. |
# 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 stelt de kleur in van tekst, pixels, lijnen en vormcontouren.
Usage:
controller.screen.set_pen_color(color)
Parameter |
Beschrijving |
|---|---|
|
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 stelt de opvulkleur achter afgedrukte tekst in. De standaard opvulkleur voor tekst is transparant.
Usage:
controller.screen.set_text_fill_color(color)
Parameter |
Beschrijving |
|---|---|
|
Optioneel. Hiermee stelt u de opvulkleur van de tekst in. Mogelijkheden zijn:
|
# 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 stelt de vulkleur in die wordt gebruikt bij het tekenen van vormen. De standaard vulkleur is zwart.
Usage:
controller.screen.set_fill_color(color)
Parameter |
Beschrijving |
|---|---|
|
Optioneel. Hiermee wordt de vulkleur ingesteld. Mogelijkheden zijn:
|
# 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)

Tekenen#
draw_pixel#
draw_pixel tekent één pixel op de geselecteerde x- en y-coördinaat met behulp van de huidige penkleur.
Usage:
controller.screen.draw_pixel(x, y)
Parameter |
Beschrijving |
|---|---|
|
De x-coördinaat waar de pixel getekend zal worden, gegeven als een geheel getal van 0 tot 640. |
|
De y-coördinaat waar de pixel getekend zal worden, gegeven als een geheel getal van 0 tot 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 tekent een lijn van de eerste schermcoördinaat (x1, y1) naar de tweede schermcoördinaat (x2, y2) met behulp van de huidige penbreedte en penkleur.
De x- en y-coördinaten gebruiken de standaard oorsprong (0, 0), tenzij een andere oorsprong is ingesteld met set_origin.
Usage:
controller.screen.draw_line(x1, y1, x2, y2)
Parameter |
Beschrijving |
|---|---|
|
De startcoördinaat van de lijn (x-coördinaat), gegeven als een geheel getal van 0 tot 640. |
|
De begincoördinaat van de lijn op de y-as, gegeven als een geheel getal van 0 tot 480. |
|
De eind-x-coördinaat van de lijn, gegeven als een geheel getal van 0 tot 640. |
|
De eind-y-coördinaat van de lijn, gegeven als een geheel getal van 0 tot 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 tekent een rechthoek met de huidige penbreedte, penkleur en vulkleur, tenzij de optionele color parameter wordt gebruikt.
De x- en y-coördinaten gebruiken de standaard oorsprong (0, 0), tenzij een andere oorsprong is ingesteld met set_origin.
Usage:
controller.screen.draw_rectangle(x, y, width, height, color)
Parameter |
Beschrijving |
|---|---|
|
De x-coördinaat van de linkerbovenhoek van de rechthoek, gegeven als een geheel getal van 0 tot 640. |
|
De y-coördinaat van de linkerbovenhoek van de rechthoek, gegeven als een geheel getal van 0 tot 480. |
|
De breedte van de rechthoek, gegeven als een geheel getal van 0 tot 640. |
|
De hoogte van de rechthoek, gegeven als een geheel getal van 0 tot 480. |
|
Optioneel. Hiermee stelt u de vulkleur van de rechthoek in. Mogelijke opties zijn:
|
# 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 tekent een cirkel met de huidige penbreedte, penkleur en vulkleur, tenzij de optionele color parameter wordt gebruikt.
De x- en y-coördinaten gebruiken de standaard oorsprong (0, 0), tenzij een andere oorsprong is ingesteld met set_origin.
Usage:
controller.screen.draw_circle(x, y, radius, color)
Parameter |
Beschrijving |
|---|---|
|
De x-coördinaat van het middelpunt van de cirkel, gegeven als een geheel getal van 0 tot 640. |
|
De y-coördinaat van het middelpunt van de cirkel, gegeven als een geheel getal van 0 tot 480. |
|
De straal van de cirkel, gegeven als een geheel getal van 0 tot 480 pixels. |
|
Optioneel. Hiermee stelt u de vulkleur van de cirkel in. Mogelijke opties zijn:
|
# 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 tekent een aangepaste, geüploade afbeelding op het controllerscherm op een x- en y-positie, met optionele schaling, rotatie en alfa-transparantie.
Usage:
controller.screen.show_file(file, x, y, scale_width, scale_height, rotation, use_alpha)
Parameter |
Beschrijving |
|---|---|
|
De door de gebruiker geüploade afbeelding die moet worden gebruikt. De opties veranderen als de afbeeldingsnamen in het Configuratiescherm worden bewerkt. |
|
De horizontale verschuiving voor de afbeelding, weergegeven als een geheel getal in pixels. Positieve waarden verschuiven de afbeelding naar rechts; negatieve waarden verschuiven de afbeelding naar links. |
|
De verticale verschuiving voor de afbeelding, weergegeven als een geheel getal in pixels. Positieve waarden verplaatsen de afbeelding naar beneden; negatieve waarden verplaatsen de afbeelding naar boven. |
|
Optioneel. De breedte van de afbeelding waarnaar geschaald wordt, opgegeven als een geheel getal in pixels. |
|
Optioneel. De hoogte van de afbeelding waarnaar geschaald wordt, opgegeven als een geheel getal in pixels. |
|
Optioneel. Het aantal graden waarmee de afbeelding moet worden gedraaid, gegeven als een geheel getal van 0 tot 359. |
|
Optioneel. Of het alfakanaal van de afbeelding moet worden gebruikt voor transparantie. Opties zijn: |
# 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)
Aanraken#
pressing#
pressing retourneert een Booleaanse waarde die aangeeft of het scherm van de robot momenteel wordt ingedrukt.
True– Er wordt op het scherm gedrukt.False– Er wordt niet op het scherm gedrukt.
Usage:
controller.screen.pressing()
Parameters |
Beschrijving |
|---|---|
Deze methode heeft geen parameters. |
# 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 retourneert de x-coördinaat in pixels waar het scherm voor het laatst werd ingedrukt, als een geheel getal van 0 (links) tot 640 (rechts).

Usage:
controller.screen.x_position()
Parameters |
Beschrijving |
|---|---|
Deze methode heeft geen parameters. |
# 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 retourneert de y-coördinaat in pixels waar het scherm voor het laatst werd ingedrukt, als een geheel getal van 0 (boven) tot 480 (onder).

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)
Terugbelverzoeken#
pressed#
pressed registreert een functie die moet worden aangeroepen wanneer het controllerscherm wordt ingedrukt.
Usage:
controller.screen.pressed(callback, arg)
Parameters |
Beschrijving |
|---|---|
|
Een functie die eerder is gedefinieerd om te worden uitgevoerd wanneer op het controllerscherm wordt gedrukt. |
|
Optioneel. Een tuple met argumenten die aan de callbackfunctie moeten worden doorgegeven. Zie Functies gebruiken met parameters voor meer informatie. |
# Play a sound when the screen is pressed.
def play_sound():
controller.sound.play_note("C5", 500)
controller.screen.pressed(play_sound)
released#
released registreert een functie die moet worden aangeroepen wanneer het controllerscherm wordt vrijgegeven.
Usage:
controller.screen.released(callback, arg)
Parameters |
Beschrijving |
|---|---|
|
Een functie die eerder is gedefinieerd om te worden uitgevoerd wanneer het controllerscherm wordt vrijgegeven. |
|
Optioneel. Een tuple met argumenten die aan de callbackfunctie moeten worden doorgegeven. Zie Functies gebruiken met parameters voor meer informatie. |
# Play a sound when the screen is pressed.
def play_sound():
controller.sound.play_note("C5", 500)
controller.screen.released(play_sound)













