Pantalla#
Introducción#
Los métodos de pantalla controlan cómo el controlador de drones VEX AIR muestra texto, números, gráficos e imágenes en su pantalla, y cómo responde a las prensas de pantalla.
A continuación se muestra una lista de los métodos disponibles:
Impresión del cursor: muestra el texto y administra 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.
XY Print – Imprimir 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.
Mutadores: cambia la configuración de la pantalla, los colores y el comportamiento del dibujo.
clear_screen: borra todos los dibujos, textos e imágenes de la pantalla del controlador.wait_for_render– Cambia el dibujo de la pantalla a un comportamiento de renderización 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 forma.set_pen_color– Establece el color del texto, los píxeles, las líneas y los contornos de forma.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: agrega 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 con el lápiz actual y los colores de relleno.draw_circle– Dibuja un círculo con el lápiz actual y los colores de relleno.show_file– Dibuja una imagen cargada.
Toque: detecte y responda a las pulsaciones de pantalla.
pressing– Devuelve si la pantalla se está presionando actualmente.x_position– Devuelve la coordenada x de la última prensa de pantalla.y_position– Devuelve la coordenada y de la última prensa de pantalla.
Devoluciones de llamada: ejecuta las funciones cuando se presiona o libera la pantalla.
Impresión del cursor#
print#
print imprime texto, números o valores 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 la variable a imprimir en la pantalla. |
|
Opcional. El separador entre el texto impreso. De forma predeterminada, |
|
Opcional. La cadena adjunta después del último texto impreso. De forma predeterminada, |
|
Opcional. El número de decimales con los que se imprimirá un número flotante como número 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 próxima llamada print comenzará a imprimirse en esa ubicación. El espaciado entre filas y columnas tendrá en cuenta la fuente seleccionada. Con la fuente media monoespaciada predeterminada, la pantalla puede mostrar claramente hasta 18 filas y 53 columnas. El texto colocado más allá de este rango puede cortarse 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 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 en 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 a borrar. El valor predeterminado es la fila del cursor actual. |
|
Opcional. El color a aplicar a la fila borrada. Si no se especifica un color, se utiliza el
|
# 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 variables en la pantalla del controlador en una posición específica (x, y) en píxeles, utilizando la fuente y origen actuales. x establece a qué distancia del lado izquierdo comienza el texto, y establece dónde se encuentra la parte inferior de las letras. Este método no tiene en cuenta 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 la variable a imprimir en la pantalla. |
|
La posición horizontal del texto, como un entero de 0 a 640 píxeles. 0 es a la izquierda; 640 es a la 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#
set_origin establece el origen (0, 0) utilizado para el dibujo y la impresión basada en coordenadas en la pantalla del controlador. De forma predeterminada, el origen es la esquina superior izquierda de la pantalla. Este método puede restablecer el origen a una ubicación de coordenadas de pantalla alternativa (x, y).
Usage:
controller.screen.set_origin(x, y)
Parámetro |
Descripción |
|---|---|
|
La nueva coordenada x para establecer como origen, dada como un número entero de 0 a 640. |
|
La nueva coordenada y para establecer como origen, dada como un número entero de 0 a 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 mover el cursor después de borrar la pantalla. El valor predeterminado es 1. |
|
Opcional. La columna a la que 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 pantalla al comportamiento render-later. Una vez que se ejecute este método, los siguientes comandos de pantalla no aparecerán en la pantalla del controlador hasta que se ejecute el siguiente método wait_for_render.
Nota: Usa esto antes de dibujar un grupo de texto, formas o imágenes, luego úsalo de nuevo para representar la actualización completa a la 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 en 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 forma.
Usage:
controller.screen.set_pen_width(width)
Parámetro |
Descripción |
|---|---|
|
El ancho del lápiz, dado 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 forma.
Usage:
controller.screen.set_pen_color(color)
Parámetro |
Descripción |
|---|---|
|
Opcional. Establece el color de la pluma 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 utilizado cuando se dibujan 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)

Sorteo#
draw_pixel#
draw_pixel dibuja un píxel en las coordenadas x e y seleccionadas utilizando el color de la pluma actual.
Usage:
controller.screen.draw_pixel(x, y)
Parámetro |
Descripción |
|---|---|
|
La coordenada x donde se dibujará el píxel, dada como un número entero de 0 a 640. |
|
La coordenada y donde se dibujará el píxel, dada 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) utilizando el ancho del bolígrafo y el color del bolígrafo actuales.
Las coordenadas x e y usan el origen predeterminado de (0, 0) a menos que se haya establecido un origen diferente usando set_origin.
Usage:
controller.screen.draw_line(x1, y1, x2, y2)
Parámetro |
Descripción |
|---|---|
|
La coordenada x inicial de la línea, dada como un número entero de 0 a 640. |
|
La coordenada y inicial de la línea, dada como un número entero de 0 a 480. |
|
La coordenada x final de la línea, dada como un número entero de 0 a 640. |
|
La coordenada y final de la línea, dada como un número entero de 0 a 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 utilizando el ancho del bolígrafo, color del bolígrafo y color de relleno actuales, a menos que se utilice el parámetro de color opcional.
Las coordenadas x e y usan el origen predeterminado de (0, 0) a menos que se haya establecido un origen diferente usando 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, dada como un número entero de 0 a 640. |
|
La coordenada y de la esquina superior izquierda del rectángulo, dada como un número entero de 0 a 480. |
|
El ancho del rectángulo, dado como un número entero de 0 a 640. |
|
La altura del rectángulo, dada 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 utilizando el ancho del bolígrafo, color del bolígrafo y color de relleno actuales, a menos que se utilice el parámetro de color opcional.
Las coordenadas x e y usan el origen predeterminado de (0, 0) a menos que se haya establecido un origen diferente usando set_origin.
Usage:
controller.screen.draw_circle(x, y, radius, color)
Parámetro |
Descripción |
|---|---|
|
La coordenada x del centro del círculo, dada como un número entero de 0 a 640. |
|
La coordenada y del centro del círculo, dada como un número entero de 0 a 480. |
|
El radio del círculo, dado 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 cargada personalizada 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 cargada por el usuario a utilizar. Las opciones cambiarán si se editan los nombres de las imágenes en el Panel de control. |
|
El desplazamiento horizontal de la imagen, dado como un número entero en píxeles. Los valores positivos lo mueven a la derecha; los valores negativos lo mueven a la izquierda. |
|
El desplazamiento vertical de la imagen, dado como un número entero en píxeles. Los valores positivos lo mueven hacia abajo; los valores negativos lo mueven hacia arriba. |
|
Opcional. El ancho de la imagen que se está escalando, dado como un número entero en píxeles. |
|
Opcional. La altura de la imagen que se está escalando, dada como un número entero en píxeles. |
|
Opcional. El número de grados para rotar la imagen, dado como un número entero de 0 a 359. |
|
Opcional. Si se debe utilizar 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)
Toque#
pressing#
pressing devuelve un booleano que indica si la pantalla del robot se está pulsando actualmente.
True: se está presionando la pantalla.False– No se está presionando 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ó por última vez la pantalla, 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 argumentos para pasar 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 libere 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 libera la pantalla del controlador. |
|
Opcional. Una tupla que contiene argumentos para pasar 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)













