Pantalla#

Introducción#

Los métodos de pantalla controlan cómo el cerebro IQ (2ª generación) muestra texto, números y gráficos en su pantalla incorporada.

Para el dibujo, la resolución del cerebro es de 160 x 108 píxeles.

Esta página utiliza el nombre brain como ejemplo Brain. Reemplácelo con su propio nombre configurado según sea necesario.

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

Impresión del cursor: coloque e imprima el texto.

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

  • row — Devuelve la fila donde se imprimirá el texto.

  • column — Devuelve la columna donde se imprimirá el texto.

  • print_at — Imprime texto, números o valores de variables en una coordenada x e y específica.

  • get_string_width — Devuelve el ancho de una cadena en píxeles utilizando la fuente actual.

  • get_string_height — Devuelve la altura de una cadena en píxeles utilizando la fuente actual.

Mutadores: cambia la configuración de la pantalla, los colores y el comportamiento del dibujo.

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

  • set_origin — Establece el origen utilizado para la impresión y el dibujo basados en coordenadas.

Dibujar: agrega gráficos a la pantalla.

  • draw_pixel — Dibuja un píxel en una coordenada.

  • draw_line — Dibuja una línea entre dos puntos.

  • draw_rectangle — Dibuja un rectángulo.

  • draw_circle — Dibuja un círculo.

  • set_clip_region — Restringe dónde pueden aparecer los dibujos y el texto.

  • render — Actualiza la pantalla del cerebro con texto y dibujos solo cuando se llama.

Impresión del cursor#

print#

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

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

Parámetros

Descripción

text

El texto, número o valor de la variable a imprimir en la pantalla.

precision

Opcional. El número de decimales a mostrar cuando se muestran números. Esto debe escribirse como un argumento de palabra clave, es decir:precision=3. El valor predeterminado es 2.

opaque

Optional. opaque=True — The background of the text will be filled with the current fill color or black by default. opaque=False (default) — The background of the text will match the screen’s background color.

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

Una captura de pantalla de la pantalla de VEX IQ Brain dice ¡Hola, robot! en texto blanco en la primera línea.

# 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)

set_cursor#

set_cursor mueve el cursor a una fila y columna específicas en la pantalla Cerebro. La próxima llamada print comenzará a imprimirse en esa ubicación. La cantidad de filas y columnas que pueden caber cómodamente depende de la fuente seleccionada.

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:
brain.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.

# 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)

Una captura de pantalla de la pantalla de IQ Brain dice 23.19 en texto blanco en la esquina superior izquierda.

next_row#

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

Usage:
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")

Una captura de pantalla de la pantalla de IQ Brain muestra la línea 1 en texto blanco en la esquina superior izquierda y la línea 2 directamente debajo de ella.

clear_row#

clear_row borra una sola fila de texto en la pantalla Cerebro.

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

Parámetros

Descripción

fila

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

color

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

  • Color.YELLOW_ORANGE
  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
Color.YELLOW_ORANGE 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)

row#

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

Usage:
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())

Una captura de pantalla de la pantalla IQ Brain con un número 3 blanco impreso en el extremo izquierdo de la pantalla, centrado verticalmente, en la posición de la columna 2 de la fila 3.

column#

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

Usage:
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())

Una captura de pantalla de la pantalla IQ Brain con un número 2 blanco impreso en el extremo izquierdo de la pantalla, centrado verticalmente, en la posición de la columna 2 de la fila 3.

get_string_width#

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

Usage:
brain.screen.get_string_width(string)

Parámetros

Descripción

string

La cadena a medir.

get_string_height#

get_string_height devuelve la altura de una cadena en píxeles como un número entero, tal como aparecería en la pantalla Cerebro. La altura varía según la longitud de la cadena y la fuente actual.

Usage:
brain.screen.get_string_height(string)

Parámetros

Descripción

string

La cadena a medir.

Mutadores#

clear_screen#

clear_screen borra todos los dibujos y el texto de la pantalla del cerebro.

Usage:
brain.screen.clear_screen(color)

Parámetros

Descripción

color

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

  • Color.YELLOW_ORANGE
  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
Color.YELLOW_ORANGE 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)

Una captura de pantalla de la pantalla IQ Brain con toda el área imprimible en rojo brillante.

set_font#

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

Usage:
brain.screen.set_font(fontname)

Parámetro

Descripción

fontname

Establece la fuente en uno de los siguientes:

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

Una captura de pantalla de la pantalla VEX IQ Brain con una serie de números y letras en fuente Mono 12. Las letras A-Z están en una línea, abarcando el ancho de la pantalla. La esquina inferior izquierda indica 26 caracteres de ancho y 9 filas.
MONO12

La misma captura de pantalla que la anterior, ahora con fuente Mono 15. Las letras A-T están en una línea, abarcando el ancho de la pantalla. La esquina inferior izquierda indica 20 caracteres de ancho y 7 filas.
MONO15

La misma captura de pantalla que la anterior, ahora con fuente Mono 20. Las letras A-P están en una línea, abarcando el ancho de la pantalla. La esquina inferior izquierda indica 16 caracteres de ancho y 5 filas.
MONO20

La misma captura de pantalla que la anterior, ahora con fuente Mono 30. Los números del 1 al 9 y un 0 adicional están en una línea, que abarca el ancho de la pantalla. La esquina inferior izquierda indica 3 filas.
MONO30

La misma captura de pantalla que la anterior, ahora con fuente Mono 40. Los números del 1 al 8 están en la segunda línea, abarcando el ancho de la pantalla.
MONO40

La misma captura de pantalla que la anterior, ahora con fuente Mono 60. La pantalla muestra MN 60 en letra grande, ocupando casi toda la mitad superior de la pantalla.
MONO60

La misma captura de pantalla que la anterior, ahora con la fuente de la Propuesta 20. Las letras A-W están en una línea, abarcando el ancho de la pantalla. La esquina inferior izquierda indica 26 caracteres de ancho y 5 filas.
PROP20

La misma captura de pantalla que la anterior, ahora con la fuente de la Propuesta 30. Los números del 1 al 9 se repiten dos veces en una línea, abarcando el ancho de la pantalla. La esquina inferior izquierda indica 18 caracteres de ancho y 3 filas.
PROP30

La misma captura de pantalla que la anterior, ahora con la fuente de la Propuesta 40. La pantalla lee la Propuesta 40 en la línea superior e indica 14 caracteres y 2 filas en la segunda.
PROP40

La misma captura de pantalla que la anterior, ahora con la fuente de la Propuesta 60. La pantalla dice PROP 60 en letra grande, ocupando casi toda la mitad superior de la pantalla.
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")

Una captura de pantalla de la pantalla IQ Brain con texto blanco en dos líneas en la esquina superior izquierda. La primera línea dice Mono Medium y la segunda línea directamente debajo dice Prop Medium en una fuente más pequeña.

set_pen_width#

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

Usage:
brain.screen.set_pen_width(width)

Parámetro

Descripción

width

El ancho del lápiz, en píxeles, 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)

Una captura de pantalla de la pantalla IQ Brain con dos círculos blancos impresos en la mitad inferior de la pantalla. El círculo de la izquierda está dibujado con un borde más estrecho que el de la derecha.

set_pen_color#

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

Usage:
brain.screen.set_pen_color(color)

Parámetro

Descripción

color

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

  • Color.YELLOW_ORANGE
  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
Color.YELLOW_ORANGE 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)

Una captura de pantalla de la pantalla IQ Brain con dos pequeños rectángulos dibujados en la mitad inferior de la pantalla. El rectángulo de la izquierda es azul y el de la derecha es blanco.

set_fill_color#

set_fill_color establece el color de relleno utilizado cuando se dibujan formas.

Usage:
brain.screen.set_fill_color(color)

Parámetro

Descripción

color

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

  • Color.YELLOW_ORANGE
  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
Color.YELLOW_ORANGE 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)

Una captura de pantalla de la pantalla IQ Brain con un círculo amarillo brillante con un delgado borde blanco dibujado en la mitad izquierda de la pantalla.

set_origin#

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

Usage:
brain.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 159.

y

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

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

Una captura de pantalla de una pantalla IQ Brain con una línea de tiempo que comienza ligeramente a la izquierda del centro y se extiende diagonalmente hacia abajo a la derecha hacia la esquina inferior derecha de la pantalla.

Sorteo#

draw_pixel#

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

Usage:
brain.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 159.

y

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

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

Una captura de pantalla de la pantalla IQ Brain con un pequeño punto blanco en el centro de la pantalla.

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:
brain.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 159.

y1

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

x2

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

y2

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

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

Una captura de pantalla de la pantalla IQ Brain con una línea diagonal blanca dibujada 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 utilizan el origen predeterminado de (0,0) a menos que se haya establecido un origen diferente utilizando set_origin.

Usage:
brain.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 159.

y

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

width

El ancho del rectángulo, en píxeles.

height

La altura del rectángulo, en píxeles.

color

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

  • Color.YELLOW_ORANGE
  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
Color.YELLOW_ORANGE También puede especificar un color personalizado.

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

Una captura de pantalla de la pantalla de IQ Brain con un gran rectángulo rojo con un delgado borde blanco dibujado casi centrado en 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 utilizan el origen predeterminado de (0,0) a menos que se haya establecido un origen diferente utilizando set_origin.

Usage:
brain.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 159.

y

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

radius

El radio del círculo, en píxeles.

color

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

  • Color.YELLOW_ORANGE
  • Color.BLACK
  • Color.BLUE
  • Color.BLUE_GREEN
  • Color.BLUE_VIOLET
  • Color.GREEN
  • Color.ORANGE
  • Color.PURPLE
  • Color.RED
  • COLOR.RED_ORANGE
  • Color.RED_VIOLET
  • Color.VIOLET
  • Color.WHITE
  • Color.YELLOW
  • Color.YELLOW_GREEN
Color.YELLOW_ORANGE También puede especificar un color personalizado.

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

Una captura de pantalla de la pantalla IQ Brain con un círculo verde sólido con un delgado borde blanco en el centro de la pantalla.

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:
brain.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 número entero o flotante de 0 a 159.

y

La coordenada y de la esquina superior izquierda de la región del clip, dada como un número entero o flotante de 0 a 107.

width

El ancho de la región del clip en píxeles.

height

La altura de la región del clip en píxeles.

# 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)

Una captura de pantalla de la pantalla IQ Brain con texto blanco cerca del centro de la pantalla que dice Cut of, con un cuadrado rojo sólido directamente debajo, que muestra lo que se imprime en la región del clip.

render#

La opción render habilita el doble búfer para la pantalla del cerebro. Una vez activada, los comandos de dibujo (como texto, formas o imágenes) no aparecerán inmediatamente durante 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 implica que no se verá nada hasta que se use render.

Usage:
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()