Pantalla#

Introducción#

Los métodos de pantalla controlan cómo el robot de codificación VEX AIM muestra texto, números y gráficos en su pantalla, y cómo responde a las prensas de pantalla.

A continuación se muestra una lista de todos los métodos:

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.

Impresión de cursor: muestra el texto utilizando un sistema de filas/columnas.

  • 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 del cursor actual.

  • get_column – Devuelve la columna del cursor actual.

Impresión XY: muestra el texto en una coordenada de pantalla específica.

  • 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: borre la pantalla o actualice la configuración visual.

  • clear_screen – Borra la pantalla de todos los dibujos y texto.

  • 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_fill_color – Establece el color de relleno para formas dibujadas y fondos de texto impreso.

Dibujar: agrega gráficos e imágenes a la pantalla.

Devoluciones de llamada: ejecuta las funciones cuando se presiona o libera la pantalla.

  • pressed – Registra una función para llamar cuando se presiona la pantalla.

  • released – Registra una función para llamar cuando se libera la pantalla.

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:
robot.screen.pressing()

Parámetros

Descripción

Este método no tiene parámetros.

# Turn LEDs white only while the screen is pressed.
while True:
    if robot.screen.pressing():
        robot.led.on(ALL_LEDS, WHITE)
    else:
        robot.led.off(ALL_LEDS)

    wait(50, MSEC)

# Display different messages after the screen is pressed
while not robot.screen.pressing():
    wait(5, MSEC)
robot.screen.print("First message!")
robot.screen.next_row()
# Lift finger to press the screen again
while robot.screen.pressing():
    wait(5, MSEC)
while not robot.screen.pressing():
    wait(5, MSEC)
robot.screen.print("Second message!")
robot.screen.next_row()

x_position#

x_position devuelve la coordenada x de la última pantalla presionada como un número entero de 0 (izquierda) a 240 (derecha).

Usage:
robot.screen.x_position()

Parámetros

Descripción

Este método no tiene parámetros.

# Display the x-coordinate of where
# the screen is pressed
while True:
    if robot.screen.pressing():
        robot.screen.clear_screen()
        robot.screen.print(robot.screen.x_position())
    wait (50, MSEC)

y_position#

y_position devuelve la coordenada y de la última prensa de pantalla como un número entero de 0 (arriba) a 240 (abajo).

Usage:
robot.screen.y_position()

Parámetros

Descripción

Este método no tiene parámetros.

# Display the y-coordinate of where
# the screen is pressed
while True:
    if robot.screen.pressing():
        robot.screen.clear_screen()
        robot.screen.print(robot.screen.y_position())
    wait (50, MSEC)

Impresión del cursor#

print#

print imprime texto, números o valores variables en la pantalla del robot en la posición del cursor y fuente actuales.

Usage:
robot.screen.print(text)

Parámetros

Descripción

text

El texto, el número o el valor de la variable que se mostrará en la pantalla.

# Display a message at the starting cursor position
robot.screen.print("Hello, Robot!")

Una captura de pantalla de la pantalla del robot, con "¡Hola, Robot!" impreso en blanco en la parte superior.

set_cursor#

set_cursor mueve el cursor de texto a una fila y columna específicas en la pantalla del robot. La próxima llamada print comenzará a imprimirse en esa ubicación. El número de filas y columnas que se ajustan depende de la fuente seleccionada. Con la fuente media monoespaciada predeterminada, la pantalla puede mostrar claramente hasta 8 filas y 13 columnas. El texto colocado más allá de este rango puede cortarse o ser más difícil de leer.

Las fuentes monoespaciadas tienen caracteres que tienen el mismo ancho, lo que hace que la ubicación del texto sea consistente. Por el contrario, las fuentes proporcionales varían en el ancho de los caracteres, por lo que algunas letras ocupan más espacio que otras. Sin embargo, independientemente del tipo que se utilice, set_cursor posiciona el cursor en función del tamaño de fila y columna, no del estilo de fuente. El tamaño de la fuente se puede ajustar usando set_font.

Usage:
robot.screen.set_cursor(row, column)

Parámetros

Descripción

row

La fila a la que mover el cursor.

column

La columna a la que mover el cursor.

# Display text starting at Row 3 Column 2
robot.screen.set_cursor(3, 2)
robot.screen.print("Row 3, Column 2")

Una captura de pantalla de la pantalla del robot, con "Fila 3, Columna 2" impresa en blanco justo encima del centro de la pantalla, comenzando en la fila 3, columna 2.

next_row#

next_row mueve el cursor a la columna 1 en la siguiente fila en la pantalla del robot.

Usage:
robot.screen.next_row()

Parámetros

Descripción

Este método no tiene parámetros.

# Display two lines of text
robot.screen.print("Line 1")
robot.screen.next_row()
robot.screen.print("Line 2")

Una captura de pantalla de la pantalla del robot con texto blanco. La pantalla muestra la línea 1 en la línea superior, justificada a la izquierda, y la línea 2 directamente debajo.

clear_row#

clear_row borra una sola fila de texto en la pantalla del robot.

Usage:
robot.screen.clear_row(row, color)

Parámetro

Descripción

row

Opcional. La fila se borra como un número entero. El valor predeterminado es la fila del cursor actual.

color

Opcional. El color a aplicar a la fila borrada. Las opciones incluyen:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
También puede especificar un color personalizado.

# Display text on two rows
robot.screen.print("This text stays")
robot.screen.next_row()
robot.screen.print("This text disappears")

# Wait 3 seconds before clearing only the second row
wait(3, SECONDS)
robot.screen.clear_row()

# Turn the 5th row green
robot.screen.clear_row(5, GREEN)

Una captura de pantalla de la pantalla del robot con una barra verde en el centro de la pantalla de izquierda a derecha.

get_row#

get_row devuelve la fila actual donde el texto se imprimirá como un número entero.

Usage:
robot.screen.get_row()

Parámetros

Descripción

Este método no tiene parámetros.

# Set cursor to (3,2) and print row number
robot.screen.set_cursor(3, 2)
robot.screen.print(robot.screen.get_row())

Captura de pantalla SA de la pantalla del robot, con un 3 blanco impreso cerca del centro del cuadrante superior izquierdo, en la fila 3 columna 2.

get_column#

get_column devuelve la columna actual donde el texto se imprimirá como un número entero.

Usage:
robot.screen.get_column()

Parámetros

Descripción

Este método no tiene parámetros.

# Set cursor to (3,2) and print column number
robot.screen.set_cursor(3, 2)
robot.screen.print(robot.screen.get_column())

Una captura de pantalla de la pantalla del robot, con un 2 blanco impreso cerca del centro del cuadrante superior izquierdo, en la fila 3 columna 2.

Impresión XY#

set_origin#

set_origin establece el origen utilizado para el dibujo y la impresión basada en coordenadas en la pantalla del robot. De forma predeterminada, el origen es la esquina superior izquierda de la pantalla.

Usage:
robot.screen.set_origin(x, y)

Parámetro

Descripción

x

La nueva coordenada x para establecer como origen, dada como un número entero de 0 a 240.

y

La nueva coordenada y para establecer como origen, dada como un número entero de 0 a 240.

# Set the origin to the center of the screen
robot.screen.set_origin(120, 120)

# Draw a rectangle at the new origin
robot.screen.draw_rectangle(0, 0, 80, 40)

Una captura de pantalla de la pantalla del robot con un rectángulo blanco dibujado en el cuadrante inferior izquierdo. La esquina superior izquierda del rectángulo es el centro de la pantalla.

Mutadores#

clear_screen#

clear_screen borra todos los dibujos y el texto de la pantalla del robot. De forma predeterminada, también restablece la posición del cursor a la fila 1, columna 1.

Usage:
robot.screen.clear_screen(color)

Parámetro

Descripción

color

Opcional. Establece el color de la pantalla. Las opciones incluyen:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
También puede especificar un color personalizado.

# Draw a circle, and clear it after 2 seconds
robot.screen.draw_circle(120, 120, 60)
wait(2, SECONDS)
robot.screen.clear_screen()

# Set the background color of the screen to red
robot.screen.clear_screen(RED)

Una captura de pantalla de la pantalla del robot, que muestra toda la pantalla en rojo brillante.

set_font#

set_font establece la fuente utilizada para mostrar texto en la pantalla del robot. Esta fuente se aplicará a todo el texto impreso con print o print_at. La fuente predeterminada al inicio de un proyecto es MONO24.

Usage:
robot.screen.set_font(fontname)

Parámetro

Descripción

fontname

Establece la fuente en uno de los siguientes:

  • MONO12
  • MONO15
  • MONO20
  • MONO24
  • MONO40
  • MONO30
  • MONO60
  • PROP30
  • PROP40
  • PROP20
  • PROP60
Estas opciones se muestran a continuación.

Una captura de pantalla de la pantalla del robot que muestra una muestra de números y letras impresas en fuente Mono 12. El alfabeto abarca 1 fila de texto. En la parte inferior se leen 26 caracteres de ancho y 15 filas.
MONO12

La misma imagen que la anterior con fuente Mono 15. Las letras A-T abarcan 1 fila de texto. En la parte inferior se leen 20 caracteres de ancho y 12 filas.
MONO15

La misma imagen que la anterior, con fuente Mono 20. Las letras A-P abarcan 1 fila de texto. En la parte inferior se leen 16 caracteres y 9 filas.
MONO20

La misma imagen que la anterior, con fuente Mono 24. Las letras A-M abarcan 1 fila de texto. En la parte inferior se leen 13 caracteres y 8 filas.
MONO24

Misma imagen que la anterior, con fuente Mono 30. Las letras A-K abarcan 1 fila de texto. En la parte inferior se leen 11 caracteres y 6 filas.
MONO30

Misma imagen que la anterior, con fuente Mono 40. Las letras A-H abarcan 1 fila de texto. En la parte inferior se leen 8 caracteres y 5 filas.
MONO40

La misma imagen que la anterior, con números impresos en fuente Mono 60. Los números del 1 al 6 abarcan 1 fila de texto. En la parte inferior se leen 3 filas.
MONO60

La misma imagen que la anterior, con la fuente de la Propuesta 20. Las letras A-s abarcan 1 fila de texto. En la parte inferior se leen 20 caracteres de ancho y 9 filas.
PROP20

La misma imagen que la anterior, con la fuente de la Propuesta 30. Las letras A-M abarcan 1 fila de texto. En la parte inferior se leen 15 caracteres de ancho y 6 filas.
PROP30

La misma imagen que la anterior, con la fuente de la Propuesta 40. Las letras A-J abarcan 1 fila de texto. En la parte inferior se leen 11 caracteres y 5 filas.
PROP40

La misma imagen que la anterior, con números impresos en la fuente de la Propuesta 60. Los números del 1 al 7 abarcan 1 fila de texto. La parte inferior dice 7 por 3.
PROP60

# Display text using a larger font
robot.screen.set_font(MONO40)
robot.screen.print("VEX")

Una captura de pantalla de la pantalla del robot dice VEX en fuente Mono 40 en la esquina superior izquierda.

set_pen_width#

set_pen_width establece el grosor de las líneas dibujadas y los contornos de forma.

Usage:
robot.screen.set_pen_width(width)

Parámetro

Descripción

width

El ancho del lápiz, en píxeles, de 0 a 32.

# Draw a rectangle with a pen width of 10
robot.screen.set_pen_width(10)
robot.screen.draw_rectangle(50, 50, 130, 60)

Una captura de pantalla de la pantalla del robot con un rectángulo blanco grueso dibujado en la mitad superior.

set_pen_color#

set_pen_color establece el color del texto, los píxeles, las líneas y los contornos de forma.

Usage:
robot.screen.set_pen_color(color)

Parámetro

Descripción

color

Opcional. El lápiz y el color de fuente a usar. Las opciones incluyen:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
También puede especificar un color personalizado.

# Draw a rectangle with a red pen
robot.screen.set_pen_color(RED)
robot.screen.draw_rectangle(50, 50, 130, 60)

Una captura de pantalla de la pantalla del robot con un rectángulo rojo con un borde delgado dibujado en la mitad superior.

set_fill_color#

set_fill_color establece el color de relleno utilizado cuando se dibujan formas y cuando el texto impreso utiliza un fondo.

Usage:
robot.screen.set_fill_color(color)

Parámetro

Descripción

color

Opcional. El color de relleno a usar. Las opciones incluyen:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
También puede especificar un color personalizado.

# Draw two orange rectangles
robot.screen.set_fill_color(ORANGE)
robot.screen.draw_rectangle(50, 50, 100, 60)
robot.screen.draw_rectangle(50, 130, 100, 60)

Una captura de pantalla de la pantalla del robot con dos rectángulos naranjas paralelos con contornos delgados y blancos colocados en el centro izquierdo de la pantalla.

# Display text with a purple background
robot.screen.set_fill_color(PURPLE)
robot.screen.print("Highlight")

Una captura de pantalla de la pantalla del robot dice Resaltado en texto blanco con un resaltado morado a su alrededor, comenzando en la esquina superior izquierda.

Sorteo#

draw_pixel#

draw_pixel dibuja un píxel en las coordenadas x e y seleccionadas utilizando el color de la pluma actual.

Usage:
robot.screen.draw_pixel(x, y)

Parámetro

Descripción

x

La coordenada x donde se dibujará el píxel, dada como un número entero de 0 a 240.

y

La coordenada y donde se dibujará el píxel, dada como un número entero de 0 a 240.

# Draw a pixel at the center of the screen
robot.screen.draw_pixel(120, 120)

Una captura de pantalla de la pantalla del robot con un solo píxel blanco en el centro.

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:
robot.screen.draw_line(x1, y1, x2, y2)

Parámetro

Descripción

x1

La coordenada x inicial de la línea, dada como un número entero de 0 a 240.

y1

La coordenada y inicial de la línea, dada como un número entero de 0 a 240.

x2

La coordenada x final de la línea, dada como un número entero de 0 a 240.

y2

La coordenada y final de la línea, dada como un número entero de 0 a 240.

# Draw a line from the top left to bottom right of the screen
robot.screen.draw_line(0, 0, 240, 240)

Una captura de pantalla de la pantalla del robot con una delgada línea diagonal blanca trazada desde la esquina superior izquierda hasta la esquina inferior derecha.

draw_rectangle#

draw_rectangle dibuja un rectángulo con su esquina superior izquierda en la coordenada seleccionada (x, y) y un tamaño determinado por el ancho y la altura dados, todos medidos en píxeles. El contorno del rectángulo se dibuja utilizando el ancho del bolígrafo y el color del bolígrafo actuales. El interior se rellena con el color de relleno actual, 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:
robot.screen.draw_rectangle(x, y, width, height, color)

Parámetro

Descripción

x

La coordenada x de la esquina superior izquierda del rectángulo, dada como un número entero de 0 a 240.

y

La coordenada y de la esquina superior izquierda del rectángulo, dada como un número entero de 0 a 240.

width

El ancho del rectángulo, dado como un número entero de 0 a 240.

height

La altura del rectángulo, dada como un número entero de 0 a 240.

color

Opcional. El color de relleno del rectángulo. Las opciones incluyen:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
También puede especificar un color personalizado.

# Draw a red rectangle on the screen
robot.screen.draw_rectangle(50, 50, 130, 60, RED)

Una captura de pantalla de la pantalla del robot con un rectángulo rojo brillante con un delgado borde blanco centrado en la mitad superior de la pantalla.

draw_circle#

draw_circle dibuja un círculo con su centro en la coordenada (x, y) seleccionada y un tamaño determinado por el radio dado, todo medido en píxeles. El contorno del círculo se dibuja utilizando el ancho del bolígrafo y el color del bolígrafo actuales. El interior se rellena con el color de relleno actual, 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:
robot.screen.draw_circle(x, y, radius, color)

Parámetro

Descripción

x

La coordenada x del centro del círculo, dada como un número entero de 0 a 240.

y

La coordenada y del centro del círculo, dada como un número entero de 0 a 240.

radius

El radio del círculo, dado como un número entero de 0 a 240 píxeles.

color

Opcional. El color de relleno del círculo. Las opciones incluyen:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
También puede especificar un color personalizado.

# Draw a green circle on the screen
robot.screen.draw_circle(120, 120, 40, GREEN)

Una captura de pantalla de la pantalla del robot con un círculo verde brillante con un delgado borde blanco en el centro.

show_file#

show_file muestra una imagen personalizada cargada en la pantalla del robot, con su posición establecida usando los parámetros x, y, y center basados ​​en el punto de referencia de la imagen.

Usage:
robot.screen.show_file(file, x, y, center)

Parámetro

Descripción

file

La imagen personalizada a utilizar, de IMAGE1 a IMAGE10. El número de imagen coincide con el número que se muestra en el panel de control de AIM.

x

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.

y

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.

center

Opcional. Si center=True, la imagen se coloca usando su centro en la coordenada (120, 120). De forma predeterminada (center=False), la esquina superior izquierda de la imagen se utiliza y se posiciona en relación con el origen actual.

# Display uploaded Image 1 in the top left corner
robot.screen.show_file(IMAGE1, 0, 0)

# Show the same image on both sides of the screen
# Image size is 120 x 120
robot.screen.show_file(IMAGE1, 65, 0, center=True)
robot.screen.show_file(IMAGE1, -65, 0, center=True)

set_clip_region#

set_clip_region define un área rectangular en la pantalla donde se confinarán todos los dibujos y el texto. No se mostrará ningún contenido fuera de esta región.

Usage:
robot.screen.set_clip_region(x, y, width, height)

Parámetro

Descripción

x

La coordenada x de la esquina superior izquierda de la región del clip, dada como un decimal (float) de 0 a 240.

y

La coordenada y de la esquina superior izquierda de la región del clip, dada como un decimal (float) de 0 a 240.

width

El ancho de la región del clip en píxeles, dado como un decimal (float) de 0 a 240.

height

La altura de la región del clip en píxeles, dada como un decimal (float) de 0 a 240.

# Restrict text and drawings to a specific region
robot.screen.set_clip_region(0, 0, 120, 120)
robot.screen.draw_rectangle(60, 60, 100, 100, RED)
robot.screen.print_at("Cut off!", x=60, y=60)

Una captura de pantalla de la pantalla del robot que muestra el texto y la imagen que encajan en la región del clip. En el cuadrante superior izquierdo, el texto blanco dice Cut o, con un cuadrado rojo directamente debajo.

Devoluciones de llamada#

pressed#

pressed registra un método que se llamará cuando se presione la pantalla del robot.

Usage:
robot.screen.pressed(callback, arg)

Parámetros

Descripción

callback

Una función que se define previamente para ejecutarse cuando se presiona la pantalla del controlador.

arg

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.

# Set the LEDs to green when the screen is pressed.
def screen_touched():
    robot.led.on(ALL_LEDS, GREEN)

robot.screen.pressed(screen_touched)

released#

released registra un método que se llamará cuando se libere la pantalla del robot.

Usage:
robot.screen.released(callback, arg)

Parámetros

Descripción

callback

Una función que se define previamente para ejecutarse cuando se presiona la pantalla del controlador.

arg

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.

# Set the LEDs to blue when the screen is released.
def screen_released():
    robot.led.on(ALL_LEDS, BLUE)

robot.screen.released(screen_released)