Pantalla#

Introducción#

La pantalla cerebral VEX IQ (2.ª generación) ofrece una variedad de métodos para mostrar información, dibujar formas y controlar los elementos visuales de la pantalla.

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

Métodos – Controlar la visualización en la pantalla del cerebro.

  • imprimir – Imprime texto en la posición actual del cursor.

  • print_at – Imprime texto en una ubicación x e y específica.

  • set_cursor – Establece el cursor en una fila y columna específicas.

  • set_origin – Establece un nuevo origen para imprimir y dibujar.

  • set_font – Establece la fuente para el texto impreso.

  • set_pen_width – Establece el grosor de las formas y líneas dibujadas.

  • set_pen_color – Establece el color para los contornos y el texto.

  • set_fill_color – Establece el color de relleno para formas y fondos.

  • columna – Devuelve la columna del cursor actual.

  • fila – Devuelve la fila actual del cursor.

  • get_string_width – Devuelve el ancho de una cadena en píxeles.

  • get_string_height – Devuelve la altura de una cadena en píxeles.

  • clear_screen – Limpia la pantalla de todos los dibujos y textos.

  • clear_row – Borra una fila de texto.

  • next_row – Mueve el cursor a la columna 1 de la siguiente fila.

  • 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.

  • draw_circle – Dibuja un círculo.

  • [render] – Actualiza la pantalla del Cerebro con texto y dibujos solo cuando se le llama.

  • set_clip_region – Restringe dónde pueden aparecer dibujos y textos.

imprimir#

print muestra texto en la pantalla del Cerebro en la posición del cursor y fuente actuales.

Uso:
brain.screen.print(text, precision, opaque)

Parámetros

Descripción

texto

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

precisión

Opcional. El número de decimales que se mostrarán al mostrar números. Debe escribirse como argumento de palabra clave, por ejemplo: precision=3. El valor predeterminado es 2.

opaco

Opcional.

  • opaque=True – El fondo del texto se rellenará con el color de relleno actual o negro por defecto.
  • opaque=False (predeterminado) – El fondo del texto coincidirá con el color de fondo de la pantalla.

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

# Display a percentage with 4 decimal places and a blue background
brain.screen.set_fill_color(Color.BLUE)
brain.screen.print((42/100), precision = 4, opaque = True)

texto alternativo

establecer_cursor#

set_cursor coloca el cursor en una fila y columna específicas en la pantalla del Cerebro. La cantidad de filas y columnas que se pueden colocar cómodamente depende de la fuente seleccionada.

Las fuentes monoespaciadas tienen caracteres del mismo ancho, lo que garantiza la uniformidad en la colocación del texto. En cambio, 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 utilizado, set_cursor posiciona el cursor según el tamaño de fila y columna, no el estilo de fuente. El tamaño de la fuente se puede ajustar con set_font.

Uso:
brain.screen.set_cursor(fila, columna)

Parámetros

Descripción

fila

La fila del cursor.

columna

La columna del cursor.

# Repeatedly print the Brain's timer at the
# top left of the screen
while True:
    brain.screen.print(brain.timer.time(SECONDS))
    brain.screen.next_row()
    wait(1, SECONDS)
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)

texto alternativo

origen_del_conjunto#

set_origin establece el origen (0,0) utilizado para dibujar o imprimir en la pantalla del Brain. Por defecto, los métodos de dibujo o impresión consideran la esquina superior izquierda de la pantalla como origen. Este método puede restablecer el origen a una ubicación alternativa de coordenadas (x, y) en la pantalla.

Uso:
brain.screen.set_origin(x, y)

Parámetro

Descripción

x

La nueva coordenada x que se establecerá como origen, expresada como un número entero de 0 a 160.

y

La nueva coordenada y que se establecerá como origen, expresada como un número entero de 0 a 108.

# Draw a line with the origin set to (50, 50)
brain.screen.set_origin(50, 50)
brain.screen.draw_line(1, 1, 159, 107)

texto alternativo

establecer_fuente#

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

Uso:
brain.screen.set_font(fontname)

Parámetro

Descripción

nombre de fuente

Establece la fuente en una de las siguientes:

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

Una pantalla titulada MONO 12 muestra líneas completas de dígitos y alfabetos con una nota de 26 de ancho y 9 filas.
MONO12

Una pantalla denominada MONO 15 muestra dos líneas de caracteres e indica 20 de ancho y 7 filas.
MONO15

Una pantalla titulada MONO 20 muestra dígitos y letras mayúsculas seguidas de 16 en horizontal y 5 filas.
MONO20

Una pantalla denominada MONO 30 muestra dos líneas de dígitos seguidas del texto 3 filas.
MONO30

Una pantalla titulada MONO 40 muestra los números 12345678 debajo en una fuente monoespaciada.
MONO40

Una pantalla muestra MN60 en texto blanco grande sobre un fondo negro.
MONO60

Una pantalla titulada PROP 20 muestra varias líneas de dígitos y letras mayúsculas, seguidas de 26 en horizontal y 5 filas.
PROP20

Una pantalla denominada PROP 30 muestra una línea de dígitos y la ecuación 18 x 3 debajo de ella.
PROP30

Una pantalla muestra PROP 40 con la línea 14 x 2 debajo en texto blanco sobre fondo negro.
PROP40

Una pantalla muestra PROP 60 en texto blanco grande sobre un fondo negro sin contenido adicional.
PROP60

# Display two different fonts on two separate lines
brain.screen.set_font(FontType.MONO20)
brain.screen.print("Mono Medium")
brain.screen.next_row()
brain.screen.set_font(FontType.PROP20)
brain.screen.print("Prop Medium")

texto alternativo

establecer_ancho_de_pluma#

set_pen_width establece el ancho del lápiz utilizado para dibujar líneas y formas.

Uso:
brain.screen.set_pen_width(ancho)

Parámetro

Descripción

ancho

El ancho del lápiz, expresado como un número entero en píxeles en un rango de 0 a 32.

# Draw two circles with different pen widths
brain.screen.draw_circle(40, 70, 20)
brain.screen.set_pen_width(5)
brain.screen.draw_circle(100, 70, 20)

texto alternativo

establecer_color_de_pluma#

set_pen_color establece el color del lápiz utilizado para dibujar líneas, formas y texto.

Uso:
brain.screen.set_pen_color(color)

Parámetro

Descripción

color

Opcional. Establece el color del lápiz. Las opciones incluyen:

  • Color.NEGRO
  • Color.AZUL
  • Color.AZUL_VERDE
  • Color.AZUL_VIOLETA
  • Color.VERDE
  • Color.NARANJA
  • Color.MORADO
  • Color.ROJO
  • COLOR.ROJO_NARANJA
  • Color.ROJO_VIOLETA
  • Color.VIOLETA
  • Color.BLANCO
  • Color.AMARILLO
  • Color.AMARILLO_VERDE
  • Color.AMARILLO_NARANJA
También puede especificar un color personalizado.

# Draw two rectangles with different colors
brain.screen.draw_rectangle(100, 50, 10, 20)
brain.screen.set_pen_color(Color.BLUE)
brain.screen.draw_rectangle(50, 50, 10, 20)

texto alternativo

establecer_color_de_relleno#

El método set_fill_color establece el color de relleno utilizado cuando se dibujan formas.

Uso:
brain.screen.set_fill_color(color)

Parámetro

Descripción

color

Opcional. Establece el color de relleno. Las opciones incluyen:

  • Color.NEGRO
  • Color.AZUL
  • Color.AZUL_VERDE
  • Color.AZUL_VIOLETA
  • Color.VERDE
  • Color.NARANJA
  • Color.PÚRPURA
  • Color.ROJO
  • COLOR.ROJO_NARANJA
  • Color.ROJO_VIOLETA
  • Color.VIOLETA
  • Color.BLANCO
  • Color.AMARILLO
  • Color.AMARILLO_VERDE
  • Color.AMARILLO_NARANJA
También puede especificar un color personalizado.

# Draw a yellow circle
brain.screen.set_fill_color(Color.YELLOW)
brain.screen.draw_circle(50, 50, 20)

texto alternativo

columna#

column devuelve la columna actual donde el texto se imprimirá como un entero.

Uso:
brain.screen.column()

Parámetros

Descripción

Este método no tiene parámetros.

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

texto alternativo

fila#

row devuelve la fila actual donde el texto se imprimirá como un entero.

Uso:
brain.screen.row()

Parámetros

Descripción

Este método no tiene parámetros.

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

texto alternativo

obtener_ancho_de_cadena#

get_string_width devuelve el ancho de una cadena en píxeles, tal como aparecería en la pantalla del Cerebro. El ancho varía según la longitud de la cadena y la fuente actual.

Uso:
brain.screen.get_string_width(string)

Parámetros

Descripción

cadena

La cuerda a medir.

# Display the width of a string in pixels
brain.screen.print("String width ")
brain.screen.print(brain.screen.get_string_width("Hello, Robot!"))

texto alternativo

obtener_altura_de_cadena#

get_string_height devuelve la altura de una cadena en píxeles, tal como aparecería en la pantalla del Cerebro. El ancho varía según la longitud de la cadena y la fuente actual.

Uso:
brain.screen.get_string_height(string)

Parámetros

Descripción

cadena

La cuerda a medir.

# Display the height of a string in pixels
brain.screen.print("String height ")
brain.screen.print(brain.screen.get_string_height("Hello, Robot!"))

texto alternativo

borrar_pantalla#

clear_screen borra todos los dibujos y textos de la pantalla del Cerebro.

Uso:
brain.screen.clear_screen(color)

Parámetros

Descripción

color

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

  • Color.NEGRO
  • Color.AZUL
  • Color.AZUL_VERDE
  • Color.AZUL_VIOLETA
  • Color.VERDE
  • Color.NARANJA
  • Color.MORADO
  • Color.ROJO
  • COLOR.ROJO_NARANJA
  • Color.ROJO_VIOLETA
  • Color.VIOLETA
  • Color.BLANCO
  • Color.AMARILLO
  • Color.AMARILLO_VERDE
  • Color.AMARILLO_NARANJA
También puede especificar un color personalizado.

# Draw a circle and clear it after 2 seconds
brain.screen.draw_circle(80, 50, 20)
wait(2, SECONDS)
brain.screen.clear_screen()

# Turn the screen red
brain.screen.clear_screen(Color.RED)

texto alternativo

borrar fila#

clear_row borra una fila de dibujos y texto en la pantalla del Cerebro.

Uso:
brain.screen.clear_row(fila, color)

Parámetros

Descripción

fila

Opcional. La fila que se va a borrar. El valor predeterminado es la fila actual del cursor.

color

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

  • Color.NEGRO
  • Color.AZUL
  • Color.AZUL_VERDE
  • Color.AZUL_VIOLETA
  • Color.VERDE
  • Color.NARANJA
  • Color.PÚRPURA
  • Color.ROJO
  • COLOR.ROJO_NARANJA
  • Color.ROJO_VIOLETA
  • Color.VIOLETA
  • Color.BLANCO
  • Color.AMARILLO
  • Color.AMARILLO_VERDE
  • Color.AMARILLO_NARANJA
También puede especificar un color personalizado.

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

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

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

texto alternativo

siguiente_fila#

next_row mueve el cursor a la columna 1 de la siguiente fila de la pantalla del Cerebro.

Uso:
brain.screen.next_row()

Parámetros

Descripción

Este método no tiene parámetros.

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

texto alternativo

dibujar_píxel#

draw_pixel dibuja un píxel en la coordenada de pantalla (x, y) especificada con el color de lápiz actual. Utiliza el color de lápiz actual definido por set_pen_color.

Uso:
brain.screen.draw_pixel(x, y)

Parámetro

Descripción

x

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

y

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

# Draw one pixel at the center of the screen
brain.screen.draw_pixel(80, 50)

texto alternativo

línea de dibujo#

draw_line dibuja una línea desde la primera coordenada de pantalla especificada (x1, y1) hasta la segunda coordenada de pantalla especificada (x2, y2). Utiliza el ancho de lápiz actual definido por set_pen_width y el color de lápiz definido por set_pen_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.

Uso:
brain.screen.draw_line(x1, y1, x2, y2)

Parámetro

Descripción

x1

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

y1

La coordenada y inicial de la línea, expresada como un número entero entre 0 y 108.

x2

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

y2

La coordenada y final de la línea, expresada como un número entero entre 0 y 108.

# Draw a line from the top left to bottom right of the screen
brain.screen.draw_line(0, 0, 159, 107)

texto alternativo

dibujar_rectángulo#

draw_rectangle dibuja un rectángulo con su esquina superior izquierda en la coordenada (x, y) especificada y un tamaño determinado por el ancho y la altura dados, medidos en píxeles. El contorno del rectángulo se dibuja con el ancho de lápiz actual definido por set_pen_width y el color de lápiz definido por set_pen_color. El interior se rellena con el color definido por set_fill_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.

Uso:
brain.screen.draw_rectangle(x, y, ancho, alto, color)

Parámetro

Descripción

x

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

y

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

ancho

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

altura

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

color

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

  • Color.NEGRO
  • Color.AZUL
  • Color.AZUL_VERDE
  • Color.AZUL_VIOLETA
  • Color.VERDE
  • Color.NARANJA
  • Color.MORADO
  • Color.ROJO
  • COLOR.ROJO_NARANJA
  • Color.ROJO_VIOLETA
  • Color.VIOLETA
  • Color.BLANCO
  • Color.AMARILLO
  • Color.AMARILLO_VERDE
  • Color.AMARILLO_NARANJA
También puede especificar un color personalizado.

# Draw a red rectangle on the screen
brain.screen.draw_rectangle(25, 25, 100, 50, Color.RED)

texto alternativo

dibujar_círculo#

draw_circle dibuja un círculo con centro en la coordenada (x, y) especificada y un tamaño determinado por el radio dado, medido en píxeles. El contorno del círculo se dibuja con el ancho de lápiz actual definido por set_pen_width y el color de lápiz definido por set_pen_color. El interior se rellena con el color definido por set_fill_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.

Uso:
brain.screen.draw_circle(x, y, radio, color)

Parámetro

Descripción

x

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

y

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

radio

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

color

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

  • Color.NEGRO
  • Color.AZUL
  • Color.AZUL_VERDE
  • Color.AZUL_VIOLETA
  • Color.VERDE
  • Color.NARANJA
  • Color.MORADO
  • Color.ROJO
  • COLOR.ROJO_NARANJA
  • Color.ROJO_VIOLETA
  • Color.VIOLETA
  • Color.BLANCO
  • Color.AMARILLO
  • Color.AMARILLO_VERDE
  • Color.AMARILLO_NARANJA
También puede especificar un color personalizado.

# Draw a green circle on the screen
brain.screen.draw_circle(80, 50, 20, Color.GREEN)

texto alternativo

prestar#

render habilita el doble buffering para la pantalla del cerebro. Una vez ejecutado, los comandos de dibujo (como texto, formas o imágenes) ya no aparecerán inmediatamente para el resto del proyecto. En su lugar, las actualizaciones solo se mostrarán cuando se vuelva a usar render. Esto permite actualizaciones de pantalla más fluidas y controladas, pero significa que no habrá nada visible hasta que se use render.

Uso:
brain.screen.render()

Parámetros

Descripción

Este método no tiene parámetros.

# Render text after moving
brain.screen.render()
brain.screen.print("Render later...")
drivetrain.drive_for(FORWARD, 100, MM)
drivetrain.turn_for(RIGHT, 90, DEGREES)
brain.screen.render()

establecer_región_de_clip#

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

Uso:
brain.screen.set_clip_region(x, y, ancho, alto)

Parámetro

Descripción

x

La coordenada x de la esquina superior izquierda de la región de recorte, expresada como un número entero o flotante de 0 a 160.

y

La coordenada y de la esquina superior izquierda de la región de recorte, expresada como un número entero o flotante de 0 a 108.

ancho

El ancho de la región de recorte en píxeles, expresado como un número entero o flotante de 0 a 160.

altura

La altura de la región de recorte en píxeles, expresada como un entero o un punto flotante entre 0 y 108.

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

texto alternativo