Bildschirm#
Einführung#
Die Bildschirmmethoden steuern, wie der VEX AIR Drohnencontroller Text, Zahlen, Grafiken und Bilder auf seinem Bildschirm anzeigt und wie er auf Berührungen des Bildschirms reagiert.
Nachfolgend finden Sie eine Liste der verfügbaren Methoden:
Druckcursor – Text anzeigen und Druckcursor verwalten.
print– Gibt Text, Zahlen oder Variablenwerte an der aktuellen Cursorposition aus.set_cursor– Verschiebt den Cursor in eine bestimmte Zeile und Spalte.next_row– Bewegt den Cursor in Spalte 1 der nächsten Zeile.clear_row– Löscht eine Textzeile.get_row– Gibt die Zeile zurück, in der der Text ausgegeben werden soll.get_column– Gibt die Spalte zurück, in der der Text ausgegeben werden soll.
XY-Druck – Text an pixelbasierten Koordinaten drucken.
print_at– Gibt Text, Zahlen oder Variablenwerte an einer bestimmten x- und y-Koordinate aus.set_origin– Legt den Ursprung fest, der für koordinatenbasiertes Drucken und Zeichnen verwendet wird.
Mutatoren – Ändern Sie Bildschirmeinstellungen, Farben und das Zeichenverhalten.
clear_screen– Löscht alle Zeichnungen, Texte und Bilder vom Controller-Bildschirm.wait_for_render– Schaltet die Bildschirmzeichnung auf das Verhalten “später rendern” um.set_font– Legt die Schriftart für gedruckten Text fest.set_pen_width– Legt die Dicke der gezeichneten Linien und Formumrisse fest.set_pen_color– Legt die Farbe von Text, Pixeln, Linien und Formumrissen fest.set_text_fill_color– Legt die Füllfarbe hinter dem gedruckten Text fest.set_fill_color– Legt die Füllfarbe für gezeichnete Formen fest.
Zeichnen – Grafiken und Bilder auf dem Bildschirm hinzufügen.
draw_pixel– Zeichnet ein Pixel an einer bestimmten x- und y-Position.draw_line– Zeichnet eine Linie zwischen zwei Punkten.draw_rectangle– Zeichnet ein Rechteck mit den aktuellen Stift- und Füllfarben.draw_circle– Zeichnet einen Kreis mit dem aktuellen Stift und der aktuellen Füllfarbe.show_file– Zeichnet ein hochgeladenes Bild.
Touch – Bildschirmberührungen erkennen und darauf reagieren.
pressing– Gibt zurück, ob der Bildschirm gerade gedrückt wird.x_position– Gibt die x-Koordinate des letzten Bildschirmdrucks zurück.y_position– Gibt die y-Koordinate des letzten Bildschirmdrucks zurück.
Callbacks – Funktionen, die beim Drücken oder Loslassen des Bildschirms ausgeführt werden.
Cursor Drucken#
print#
print gibt Text, Zahlen oder Variablenwerte auf dem Controller-Bildschirm an der aktuellen Cursorposition und Schriftart aus.
Usage:
controller.screen.print(text)
Parameter |
Beschreibung |
|---|---|
|
Der Text, die Zahl oder der Variablenwert, der auf dem Bildschirm ausgegeben werden soll. |
|
Optional. Das Trennzeichen zwischen gedrucktem Text. Standardmäßig entspricht |
|
Optional. Die Zeichenkette, die nach dem zuletzt gedruckten Text angehängt wird. Standardmäßig entspricht |
|
Optional. Die Anzahl der Dezimalstellen, mit denen eine Gleitkommazahl als ganze Zahl ausgegeben wird. Standardmäßig entspricht |
# 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 moves the cursor to a specific row and column on the controller screen. The next print call will start printing at that location. The row and column spacing will take into account the selected font. With the default monospaced medium font, the screen can clearly display up to 18 rows and 53 columns. Text placed beyond this range may be cut off or harder to read.
Usage:
controller.screen.set_cursor(row, col)
Parameter |
Beschreibung |
|---|---|
|
Die Zeile, in die der Cursor bewegt werden soll. |
|
Die Spalte, in die der Cursor bewegt werden soll. |
# 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 bewegt den Cursor in die Spalte 1 der nächsten Zeile auf dem Controller-Bildschirm.
Usage:
controller.screen.next_row()
Parameter |
Beschreibung |
|---|---|
Diese Methode hat keine Parameter. |
# Display two lines of text.
controller.screen.print("Line 1")
controller.screen.next_row()
controller.screen.print("Line 2")

clear_row#
clear_row löscht eine Textzeile auf dem Controller-Bildschirm.
Usage:
controller.screen.clear_row(row, color)
Parameter |
Beschreibung |
|---|---|
|
Optional. Die zu löschende Zeile. Standardmäßig wird die Zeile der aktuellen Cursorposition verwendet. |
|
Optional. Die Farbe, die auf die gelöschte Zeile angewendet werden soll. Wenn keine Farbe angegeben wird, wird die
|
# 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 gibt die aktuelle Zeile, in der der Text ausgegeben wird, als Ganzzahl zurück.
Usage:
controller.screen.get_row()
Parameter |
Beschreibung |
|---|---|
Diese Methode hat keine Parameter. |
# 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 gibt die aktuelle Spalte, in der der Text ausgegeben wird, als Ganzzahl zurück.
Usage:
controller.screen.get_column()
Parameter |
Beschreibung |
|---|---|
Diese Methode hat keine Parameter. |
# Display the cursor's current column.
controller.screen.set_cursor(row=7, col=25)
controller.screen.print(controller.screen.get_column())

XY-Druck#
print_at#
print_at prints text, numbers, or variable values on the controller screen at a specific (x, y) position in pixels, using the current font and origin. x sets how far from the left side the text begins, and y sets where the bottom of the letters sit. This method disregards the current cursor position.
Usage:
controller.screen.print_at(text, x, y)
Parameter |
Beschreibung |
|---|---|
|
Der Text, die Zahl oder der Variablenwert, der auf dem Bildschirm ausgegeben werden soll. |
|
Die horizontale Position des Textes, als ganze Zahl von 0 bis 640 Pixeln. 0 entspricht links; 640 entspricht rechts. |
|
Die vertikale Position des Textes, als ganze Zahl von 0 bis 480 Pixeln. 0 ist oben; 480 ist unten. |
# Display a message in the middle of the screen.
controller.screen.print_at("Hello, drone!", x=320, y=240)

set_origin#
set_origin wird der Ursprung (0, 0) für das Zeichnen und koordinatenbasierte Drucken auf dem Controller-Bildschirm festgelegt. Standardmäßig befindet sich der Ursprung in der oberen linken Ecke des Bildschirms. Mit dieser Methode kann der Ursprung auf eine alternative (x, y)-Koordinatenposition auf dem Bildschirm zurückgesetzt werden.
Usage:
controller.screen.set_origin(x, y)
Parameter |
Beschreibung |
|---|---|
|
Die neue x-Koordinate, die als Ursprung festgelegt werden soll, wird als ganze Zahl von 0 bis 640 angegeben. |
|
Die neue y-Koordinate, die als Ursprung festgelegt werden soll, wird als ganze Zahl von 0 bis 480 angegeben. |
# 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)

Mutatoren#
clear_screen#
clear_screen löscht alle Zeichnungen, Texte und Bilder vom Controller-Bildschirm.
Usage:
controller.screen.clear_screen(row, col, color)
Parameter |
Beschreibung |
|---|---|
|
Optional. Die Zeile, in die der Cursor nach dem Löschen des Bildschirms verschoben werden soll. Standardwert ist 1. |
|
Optional. Die Spalte, in die der Cursor nach dem Löschen des Bildschirms verschoben werden soll. Standardwert ist 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#
Die Methode wait_for_render schaltet die Bildschirmdarstellung auf „später rendern“ um. Nach Ausführung dieser Methode werden nachfolgende Bildschirmbefehle erst wieder auf dem Controller-Bildschirm angezeigt, wenn die wait_for_render ausgeführt wird.
Hinweis: Verwenden Sie diese Funktion, bevor Sie eine Gruppe von Texten, Formen oder Bildern zeichnen, und verwenden Sie sie dann erneut, um die gesamte Aktualisierung auf einmal darzustellen.
Usage:
controller.screen.wait_for_render()
Parameter |
Beschreibung |
|---|---|
Diese Methode hat keine Parameter. |
# 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 wird die Schriftart für die Textanzeige auf dem Controller-Bildschirm festgelegt. Diese Schriftart wird für alle nach Ausführung dieser Methode ausgegebenen Texte verwendet. Die Standardschriftart zu Projektbeginn ist MONO20.
Usage:
controller.screen.set_font(fontname)
Parameter |
Beschreibung |
|---|---|
|
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 legt die Dicke der gezeichneten Linien und Formkonturen fest.
Usage:
controller.screen.set_pen_width(width)
Parameter |
Beschreibung |
|---|---|
|
Die Stiftbreite, angegeben als ganze Zahl in Pixeln. |
# 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 legt die Farbe von Text, Pixeln, Linien und Formumrissen fest.
Usage:
controller.screen.set_pen_color(color)
Parameter |
Beschreibung |
|---|---|
|
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 legt die Füllfarbe hinter dem gedruckten Text fest. Die Standardfüllfarbe ist transparent.
Usage:
controller.screen.set_text_fill_color(color)
Parameter |
Beschreibung |
|---|---|
|
Optional. Legt die Textfüllfarbe fest. Optionen:
|
# 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 legt die Füllfarbe für das Zeichnen von Formen fest. Die Standardfüllfarbe ist Schwarz.
Usage:
controller.screen.set_fill_color(color)
Parameter |
Beschreibung |
|---|---|
|
Optional. Legt die Füllfarbe fest. Optionen:
|
# 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)

Ziehen#
draw_pixel#
draw_pixel zeichnet ein Pixel an der ausgewählten x- und y-Koordinate unter Verwendung der aktuellen Stiftfarbe.
Usage:
controller.screen.draw_pixel(x, y)
Parameter |
Beschreibung |
|---|---|
|
Die x-Koordinate, an der das Pixel gezeichnet werden soll, angegeben als ganze Zahl von 0 bis 640. |
|
Die y-Koordinate, an der das Pixel gezeichnet werden soll, angegeben als ganze Zahl von 0 bis 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 zeichnet eine Linie von der ersten Bildschirmkoordinate (x1, y1) zur zweiten Bildschirmkoordinate (x2, y2) unter Verwendung der aktuellen Stiftbreite und Stiftfarbe.
Die x- und y-Koordinaten verwenden den Standardursprung (0, 0), es sei denn, ein anderer Ursprung wurde mit set_origin festgelegt.
Usage:
controller.screen.draw_line(x1, y1, x2, y2)
Parameter |
Beschreibung |
|---|---|
|
Die Start-x-Koordinate der Geraden, angegeben als ganze Zahl von 0 bis 640. |
|
Die Start-y-Koordinate der Geraden, angegeben als ganze Zahl von 0 bis 480. |
|
Die End-x-Koordinate der Geraden, angegeben als ganze Zahl von 0 bis 640. |
|
Die y-Endkoordinate der Geraden, angegeben als ganze Zahl von 0 bis 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 zeichnet ein Rechteck unter Verwendung der aktuellen Stiftbreite, Stiftfarbe und Füllfarbe, es sei denn, der optionale Parameter color wird verwendet.
Die x- und y-Koordinaten verwenden den Standardursprung (0, 0), es sei denn, ein anderer Ursprung wurde mit set_origin festgelegt.
Usage:
controller.screen.draw_rectangle(x, y, width, height, color)
Parameter |
Beschreibung |
|---|---|
|
Die x-Koordinate der oberen linken Ecke des Rechtecks, angegeben als ganze Zahl von 0 bis 640. |
|
Die y-Koordinate der oberen linken Ecke des Rechtecks, angegeben als ganze Zahl von 0 bis 480. |
|
Die Breite des Rechtecks, angegeben als ganze Zahl von 0 bis 640. |
|
Die Höhe des Rechtecks, angegeben als ganze Zahl von 0 bis 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 zeichnet einen Kreis unter Verwendung der aktuellen Stiftbreite, Stiftfarbe und Füllfarbe, es sei denn, der optionale Parameter color wird verwendet.
Die x- und y-Koordinaten verwenden den Standardursprung (0, 0), es sei denn, ein anderer Ursprung wurde mit set_origin festgelegt.
Usage:
controller.screen.draw_circle(x, y, radius, color)
Parameter |
Beschreibung |
|---|---|
|
Die x-Koordinate des Mittelpunkts des Kreises, angegeben als ganze Zahl von 0 bis 640. |
|
Die y-Koordinate des Mittelpunkts des Kreises, angegeben als ganze Zahl von 0 bis 480. |
|
Der Radius des Kreises, angegeben als ganze Zahl von 0 bis 480 Pixel. |
|
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 zeichnet ein benutzerdefiniertes, hochgeladenes Bild auf dem Controller-Bildschirm an einer x- und y-Position, mit optionaler Skalierung, Drehung und Alpha-Transparenz.
Usage:
controller.screen.show_file(file, x, y, scale_width, scale_height, rotation, use_alpha)
Parameter |
Beschreibung |
|---|---|
|
Das vom Benutzer hochgeladene Bild, das verwendet werden soll. Die Optionen ändern sich, wenn Bildnamen in der Systemsteuerung bearbeitet werden. |
|
Der horizontale Versatz des Bildes, angegeben als ganze Zahl in Pixeln. Positive Werte verschieben es nach rechts, negative Werte nach links. |
|
Der vertikale Versatz des Bildes, angegeben als ganze Zahl in Pixeln. Positive Werte verschieben es nach unten, negative Werte nach oben. |
|
Optional. Die Breite des Bildes, auf die skaliert wird, angegeben als ganze Zahl in Pixeln. |
|
Optional. Die Höhe des Bildes, auf die skaliert wird, angegeben als ganze Zahl in Pixeln. |
|
Optional. Die Anzahl der Grad, um die das Bild gedreht werden soll, angegeben als ganze Zahl von 0 bis 359. |
|
Optional. Gibt an, ob der Alphakanal des Bildes für Transparenz verwendet werden soll. Optionen: |
# 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)
Berühren#
pressing#
pressing wird ein boolescher Wert zurückgegeben, der angibt, ob der Bildschirm des Roboters gerade berührt wird.
True– Der Bildschirm wird gedrückt.False– Der Bildschirm wird nicht berührt.
Usage:
controller.screen.pressing()
Parameter |
Beschreibung |
|---|---|
Diese Methode hat keine Parameter. |
# 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 gibt die x-Koordinate in Pixeln zurück, an der der Bildschirm zuletzt berührt wurde, als ganze Zahl von 0 (links) bis 640 (rechts).

Usage:
controller.screen.x_position()
Parameter |
Beschreibung |
|---|---|
Diese Methode hat keine Parameter. |
# 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 gibt die y-Koordinate in Pixeln zurück, an der der Bildschirm zuletzt berührt wurde, als ganze Zahl von 0 (oben) bis 480 (unten).

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)
Rückrufe#
pressed#
pressed registriert eine Funktion, die beim Drücken des Controller-Bildschirms aufgerufen werden soll.
Usage:
controller.screen.pressed(callback, arg)
Parameter |
Beschreibung |
|---|---|
|
Eine Funktion, die zuvor definiert wurde und ausgeführt werden soll, wenn der Controller-Bildschirm gedrückt wird. |
|
Optional. Ein Tupel mit Argumenten, die an die Callback-Funktion übergeben werden sollen. Weitere Informationen finden Sie unter Verwendung von Funktionen mit Parametern. |
# Play a sound when the screen is pressed.
def play_sound():
controller.sound.play_note("C5", 500)
controller.screen.pressed(play_sound)
released#
released registriert eine Funktion, die aufgerufen werden soll, wenn der Controller-Bildschirm losgelassen wird.
Usage:
controller.screen.released(callback, arg)
Parameter |
Beschreibung |
|---|---|
|
Eine Funktion, die zuvor definiert wurde und ausgeführt werden soll, wenn der Controller-Bildschirm losgelassen wird. |
|
Optional. Ein Tupel mit Argumenten, die an die Callback-Funktion übergeben werden sollen. Weitere Informationen finden Sie unter Verwendung von Funktionen mit Parametern. |
# Play a sound when the screen is pressed.
def play_sound():
controller.sound.play_note("C5", 500)
controller.screen.released(play_sound)













