Pantalla#
Introducción#
Los métodos de pantalla controlan cómo el controlador del dron VEX AIR muestra texto, números, gráficos e imágenes en su pantalla, y cómo responde a las pulsaciones en la misma.
A continuación se muestra una lista de los métodos disponibles:
Impresión con cursor: muestra el texto y gestiona el cursor de impresión.
print– Imprime texto, números o valores de variables en la posición actual del cursor.set_cursor– Mueve el cursor a una fila y columna específicas.next_row– Mueve el cursor a la columna 1 de la siguiente fila.clear_row– Borra una fila de texto.get_row– Devuelve la fila donde se imprimirá el texto.get_column– Devuelve la columna donde se imprimirá el texto.
Impresión XY: Imprime texto en coordenadas basadas en píxeles.
print_at– Imprime texto, números o valores de variables en una coordenada x e y específica.set_origin– Establece el origen utilizado para la impresión y el dibujo basados en coordenadas.
Motadores: Cambian la configuración de la pantalla, los colores y el comportamiento de dibujo.
clear_screen– Borra todos los dibujos, texto e imágenes de la pantalla del controlador.wait_for_render– Cambia el dibujo de la pantalla al comportamiento de renderizado posterior.set_font– Establece la fuente para el texto impreso.set_pen_width– Establece el grosor de las líneas dibujadas y los contornos de las formas.set_pen_color– Establece el color del texto, los píxeles, las líneas y los contornos de las formas.set_text_fill_color– Establece el color de relleno detrás del texto impreso.set_fill_color– Establece el color de relleno para las formas dibujadas.
Dibujar – Agregar gráficos e imágenes a la pantalla.
draw_pixel– Dibuja un píxel en una posición x e y específica.draw_line– Dibuja una línea entre dos puntos.draw_rectangle– Dibuja un rectángulo usando el lápiz y los colores de relleno actuales.draw_circle– Dibuja un círculo usando el lápiz y los colores de relleno actuales.show_file– Dibuja una imagen cargada.
Táctil: detecta y responde a las pulsaciones de la pantalla.
pressing– Devuelve si la pantalla está siendo presionada actualmente.x_position– Devuelve la coordenada x de la última pulsación de pantalla.y_position– Devuelve la coordenada y de la última pulsación de pantalla.
Funciones de devolución de llamada: ejecutan funciones cuando se presiona o se suelta la pantalla.
Cursor Imprimir#
print#
print imprime texto, números o valores de variables en la pantalla del controlador en la posición del cursor y fuente actuales.
Usage:
controller.screen.print(text)
Parámetros |
Descripción |
|---|---|
|
El texto, número o valor de variable que se imprimirá en la pantalla. |
|
Opcional. El separador entre el texto impreso. Por defecto, |
|
Opcional. La cadena que se añade después del último texto impreso. Por defecto, |
|
Opcional. El número de decimales con los que se imprimirá un número flotante como un entero. Por defecto, |
# 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 mueve el cursor a una fila y columna específicas en la pantalla del controlador. La siguiente llamada print comenzará a imprimir en esa ubicación. El espaciado entre filas y columnas tendrá en cuenta la fuente seleccionada. Con la fuente monoespaciada mediana predeterminada, la pantalla puede mostrar claramente hasta 18 filas y 53 columnas. El texto colocado más allá de este rango puede quedar cortado o ser más difícil de leer.
Usage:
controller.screen.set_cursor(row, col)
Parámetros |
Descripción |
|---|---|
|
La fila a la que mover el cursor. |
|
La columna a la que se debe mover el cursor. |
# 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 mueve el cursor a la columna 1 en la siguiente fila de la pantalla del controlador.
Usage:
controller.screen.next_row()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
# Display two lines of text.
controller.screen.print("Line 1")
controller.screen.next_row()
controller.screen.print("Line 2")

clear_row#
clear_row borra una fila de texto en la pantalla del controlador.
Usage:
controller.screen.clear_row(row, color)
Parámetro |
Descripción |
|---|---|
|
Opcional. La fila que se va a borrar. El valor predeterminado es la fila actual del cursor. |
|
Opcional. El color que se aplicará a la fila borrada. Si no se especifica un color, se utiliza
|
# 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 devuelve la fila actual donde se imprimirá el texto, como un número entero.
Usage:
controller.screen.get_row()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
# 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 devuelve la columna actual donde se imprimirá el texto, como un número entero.
Usage:
controller.screen.get_column()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
# Display the cursor's current column.
controller.screen.set_cursor(row=7, col=25)
controller.screen.print(controller.screen.get_column())

Impresión XY#
print_at#
print_at imprime texto, números o valores de variables en la pantalla del controlador en una posición (x, y) específica en píxeles, utilizando la fuente y el origen actuales. x establece a qué distancia del lado izquierdo comienza el texto, y y establece dónde se ubica la parte inferior de las letras. Este método ignora la posición actual del cursor.
Usage:
controller.screen.print_at(text, x, y)
Parámetro |
Descripción |
|---|---|
|
El texto, número o valor de variable que se imprimirá en la pantalla. |
|
La posición horizontal del texto, como un entero de 0 a 640 píxeles. 0 es izquierda; 640 es derecha. |
|
La posición vertical del texto, como un entero de 0 a 480 píxeles. 0 es la parte superior; 480 es la parte inferior. |
# Display a message in the middle of the screen.
controller.screen.print_at("Hello, drone!", x=320, y=240)

set_origin#
El método set_origin establece el origen (0, 0) utilizado para dibujar e imprimir en la pantalla del controlador. Por defecto, el origen es la esquina superior izquierda de la pantalla. Este método permite restablecer el origen a una ubicación de coordenadas (x, y) alternativa en la pantalla.
Usage:
controller.screen.set_origin(x, y)
Parámetro |
Descripción |
|---|---|
|
La nueva coordenada x que se establecerá como origen, expresada como un entero de 0 a 640. |
|
La nueva coordenada y que se establecerá como origen, expresada como un número entero entre 0 y 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)

Mutadores#
clear_screen#
clear_screen borra todos los dibujos, texto e imágenes de la pantalla del controlador.
Usage:
controller.screen.clear_screen(row, col, color)
Parámetro |
Descripción |
|---|---|
|
Opcional. La fila a la que se moverá el cursor después de borrar la pantalla. El valor predeterminado es 1. |
|
Opcional. La columna a la que se moverá el cursor después de borrar la pantalla. El valor predeterminado es 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 cambia el dibujo de la pantalla al comportamiento de renderizado posterior. Una vez que se ejecuta este método, los siguientes comandos de pantalla no aparecerán en la pantalla del controlador hasta que se ejecute el siguiente wait_for_render método.
Nota: Utilice esto antes de dibujar un grupo de texto, formas o imágenes, y luego úselo nuevamente para renderizar la actualización completa de una sola vez.
Usage:
controller.screen.wait_for_render()
Parámetro |
Descripción |
|---|---|
Este método no tiene parámetros. |
# 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 establece la fuente utilizada para mostrar texto en la pantalla del controlador. Esta fuente se aplicará a todo el texto impreso después de que se ejecute este método. La fuente predeterminada al inicio de un proyecto es MONO20.
Usage:
controller.screen.set_font(fontname)
Parámetro |
Descripción |
|---|---|
|
Establece la fuente a una de las siguientes:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
# Display text using a larger font.
controller.screen.set_font(MONO40)
controller.screen.print("VEX")

set_pen_width#
set_pen_width establece el grosor de las líneas dibujadas y los contornos de las formas.
Usage:
controller.screen.set_pen_width(width)
Parámetro |
Descripción |
|---|---|
|
El ancho del lápiz, expresado como un número entero en píxeles. |
# 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 establece el color del texto, los píxeles, las líneas y los contornos de las formas.
Usage:
controller.screen.set_pen_color(color)
Parámetro |
Descripción |
|---|---|
|
Opcional. Establece el color del lápiz y la fuente. Las opciones incluyen:
|
# 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 establece el color de relleno detrás del texto impreso. El color de relleno de texto predeterminado es transparente.
Usage:
controller.screen.set_text_fill_color(color)
Parámetro |
Descripción |
|---|---|
|
Opcional. Establece el color de relleno del texto. Las opciones incluyen:
|
# 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 establece el color de relleno que se utiliza cuando se dibujan las formas. El color de relleno predeterminado es negro.
Usage:
controller.screen.set_fill_color(color)
Parámetro |
Descripción |
|---|---|
|
Opcional. Establece el color de relleno. Las opciones incluyen:
|
# 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)

Dibujar#
draw_pixel#
draw_pixel draws one pixel at the selected x and y coordinate using the current pen color.
Usage:
controller.screen.draw_pixel(x, y)
Parámetro |
Descripción |
|---|---|
|
La coordenada x donde se dibujará el píxel, expresada como un número entero de 0 a 640. |
|
La coordenada y donde se dibujará el píxel, expresada como un número entero de 0 a 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 dibuja una línea desde la primera coordenada de la pantalla (x1, y1) hasta la segunda coordenada de la pantalla (x2, y2) usando el ancho del lápiz y el color del lápiz actuales.
Las coordenadas x e y utilizan el origen predeterminado de (0, 0) a menos que se haya establecido un origen diferente utilizando set_origin.
Usage:
controller.screen.draw_line(x1, y1, x2, y2)
Parámetro |
Descripción |
|---|---|
|
La coordenada x inicial de la línea, expresada como un número entero entre 0 y 640. |
|
La coordenada y inicial de la línea, expresada como un número entero entre 0 y 480. |
|
La coordenada x final de la línea, expresada como un número entero entre 0 y 640. |
|
La coordenada y final de la línea, expresada como un número entero entre 0 y 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 dibuja un rectángulo usando el ancho del lápiz, color del lápiz y color de relleno actuales, a menos que se utilice el parámetro opcional color.
Las coordenadas x e y utilizan el origen predeterminado de (0, 0) a menos que se haya establecido un origen diferente utilizando set_origin.
Usage:
controller.screen.draw_rectangle(x, y, width, height, color)
Parámetro |
Descripción |
|---|---|
|
La coordenada x de la esquina superior izquierda del rectángulo, expresada como un número entero de 0 a 640. |
|
La coordenada y de la esquina superior izquierda del rectángulo, expresada como un número entero de 0 a 480. |
|
El ancho del rectángulo, expresado como un número entero de 0 a 640. |
|
La altura del rectángulo, expresada como un número entero de 0 a 480. |
|
Opcional. Establece el color de relleno del rectángulo. Las opciones incluyen:
|
# 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 dibuja un círculo usando el ancho del lápiz, color del lápiz y color de relleno actuales, a menos que se use el parámetro opcional color.
Las coordenadas x e y utilizan el origen predeterminado de (0, 0) a menos que se haya establecido un origen diferente utilizando set_origin.
Usage:
controller.screen.draw_circle(x, y, radius, color)
Parámetro |
Descripción |
|---|---|
|
La coordenada x del centro del círculo, expresada como un número entero de 0 a 640. |
|
La coordenada y del centro del círculo, expresada como un número entero de 0 a 480. |
|
El radio del círculo, expresado como un número entero de 0 a 480 píxeles. |
|
Opcional. Establece el color de relleno del círculo. Las opciones incluyen:
|
# 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 dibuja una imagen personalizada cargada en la pantalla del controlador en una posición x e y, con escalado, rotación y transparencia alfa opcionales.
Usage:
controller.screen.show_file(file, x, y, scale_width, scale_height, rotation, use_alpha)
Parámetro |
Descripción |
|---|---|
|
La imagen subida por el usuario que se usará. Las opciones cambiarán si se editan los nombres de las imágenes en el Panel de control. |
|
El desplazamiento horizontal de la imagen, expresado como un entero en píxeles. Los valores positivos lo desplazan hacia la derecha; los negativos, hacia la izquierda. |
|
El desplazamiento vertical de la imagen, expresado como un entero en píxeles. Los valores positivos lo desplazan hacia abajo; los negativos, hacia arriba. |
|
Opcional. El ancho de la imagen a la que se escala, expresado como un entero en píxeles. |
|
Opcional. La altura de la imagen a la que se escala, expresada como un entero en píxeles. |
|
Opcional. El número de grados a rotar la imagen, expresado como un número entero entre 0 y 359. |
|
Opcional. Indica si se debe usar el canal alfa de la imagen para la transparencia. Las opciones incluyen: |
# 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)
Tocar#
pressing#
Al pulsar pressing se devuelve un valor booleano que indica si se está pulsando la pantalla del robot en ese momento.
True– Se está presionando la pantalla.False– No se está pulsando la pantalla.
Usage:
controller.screen.pressing()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
# 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 devuelve la coordenada x en píxeles donde se presionó la pantalla por última vez, como un número entero de 0 (izquierda) a 640 (derecha).

Usage:
controller.screen.x_position()
Parámetros |
Descripción |
|---|---|
Este método no tiene parámetros. |
# 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 devuelve la coordenada y en píxeles donde se presionó la pantalla por última vez, como un número entero de 0 (arriba) a 480 (abajo).

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)
Devoluciones de llamada#
pressed#
pressed registra una función que se llamará cuando se pulse la pantalla del controlador.
Usage:
controller.screen.pressed(callback, arg)
Parámetros |
Descripción |
|---|---|
|
Una función que se define previamente para ejecutarse cuando se presiona la pantalla del controlador. |
|
Opcional. Una tupla que contiene los argumentos que se pasarán a la función de devolución de llamada. Consulte Uso de funciones con parámetros para obtener más información. |
# Play a sound when the screen is pressed.
def play_sound():
controller.sound.play_note("C5", 500)
controller.screen.pressed(play_sound)
released#
released registra una función que se llamará cuando se suelte la pantalla del controlador.
Usage:
controller.screen.released(callback, arg)
Parámetros |
Descripción |
|---|---|
|
Una función que se define previamente para ejecutarse cuando se suelta la pantalla del controlador. |
|
Opcional. Una tupla que contiene los argumentos que se pasarán a la función de devolución de llamada. Consulte Uso de funciones con parámetros para obtener más información. |
# Play a sound when the screen is pressed.
def play_sound():
controller.sound.play_note("C5", 500)
controller.screen.released(play_sound)













