Pantalla#

Introducción#

Los métodos de pantalla controlan cómo el cerebro V5 muestra texto, números y gráficos en su pantalla táctil, y cómo responde a la entrada táctil.

De forma predeterminada, la fuente para imprimir en el cerebro es pequeña monoespaciada que tiene 12 filas y 48 columnas.

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

La pantalla V5 Brain con líneas de cuadrícula rojas que muestra el diseño de 12 filas y 48 columnas en total. Las dimensiones de los píxeles son 479 de ancho por 239 de alto. La esquina superior izquierda comienza en (0,0) píxeles y la fila 1, columna 1, mientras que la esquina inferior derecha termina en (479, 239) píxeles y la fila 12, columna 48.

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.

  • clear_line — Borra una línea de texto.

  • new_line — Mueve el cursor a una nueva línea.

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.

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

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

Getters — Compruebe el estado táctil y la posición táctil.

  • pressing — Devuelve si se está presionando la pantalla.

  • 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: responda a eventos táctiles en la pantalla.

  • pressed — Registra una función que se llamará cuando se presione la pantalla.

  • released — Registra una función que se llamará cuando se libere la pantalla.

Para obtener información sobre cómo construir un Cerebro para acceder a los métodos de la pantalla screen , consulte Cerebro.

Impresión del cursor#

print#

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

Uso:

brain.screen.print(text, sep, precision)

Parámetros

Descripción

text

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

sep

Opcional. Una cadena para insertar entre valores. Esto debe escribirse como un argumento de palabra clave (sep=). El valor predeterminado es “”.

precision

Opcional. El número de decimales que se mostrarán al imprimir números simples. Esto debe escribirse como un argumento de palabra clave (precision=). El valor predeterminado es 2.

# Print on the Brain's screen
brain.screen.print("Hello, Robot!")

Una captura de pantalla del cerebro V5 que muestra "Hello Robot" impreso en la pantalla en la esquina superior izquierda en texto blanco.

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. Con la fuente media monoespaciada predeterminada, se pueden mostrar claramente hasta 8 filas y 13 columnas. El texto colocado más allá de este rango puede cortarse o ser 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 utilizando el set_font.

Uso:

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.

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

Una captura de pantalla del Cerebro V5 que muestra la Fila 3 Columna 12 impresa en la parte superior cerca del centro de la pantalla, en esa posición.

next_row#

next_row mueve el cursor a la siguiente fila.

Uso:

brain.screen.next_row()

Parámetros

Descripción

Este método no tiene parámetros.

# Print two lines of text on the Brain's screen
brain.screen.print("Line 1")
brain.screen.next_row()
brain.screen.print("Line 2")

Una captura de pantalla de la pantalla V5 Brain que muestra dos líneas de texto blanco en la esquina superior izquierda. La línea superior dice Línea 1, y la segunda línea directamente debajo dice Línea 2.

clear_row#

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

Uso:

brain.screen.clear_row(row, color)

Parámetros

Descripción

row

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

color

Opcional. Un color válido, un valor hexadecimal o una cadena web.

# Only keep the text on row 1
brain.screen.print("This text stays")
brain.screen.next_row
brain.screen.print("This text disappears")
wait(3, SECONDS)

brain.screen.clear_row()

row#

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

Uso:

brain.screen.row()

Parámetros

Descripción

Este método no tiene parámetros.

# Display the cursor's current row
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.row())

Una captura de pantalla de la pantalla V5 Brain que muestra el texto 3 en blanco en el cuadrante superior izquierdo de la pantalla, 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.

Uso:

brain.screen.column()

Parámetros

Descripción

Este método no tiene parámetros.

# Display the cursor's current column
brain.screen.set_cursor(3, 15)
brain.screen.print(brain.screen.column())

Una captura de pantalla de la pantalla V5 Brain que muestra el texto 15 en blanco en el cuadrante superior izquierdo de la pantalla, en la posición 15 de la columna de la fila 3.

get_string_width#

get_string_width devuelve el ancho de una cadena en píxeles como un número entero, utilizando la font 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, utilizando la font actual.

Usage:
brain.screen.get_string_height(string)

Parámetros

Descripción

string

La cadena a medir.

clear_line#

clear_line borra la fila de texto actual.

Usage: brain.screen.clear_line()

Parámetros

Descripción

Este método no tiene parámetros.

new_line#

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

Uso:

brain.screen.new_line()

Parámetros

Descripción

Este método no tiene parámetros.

Mutadores#

clear_screen#

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

Uso:

brain.screen.clear_screen(color)

Parámetros

Descripción

color

Opcional. Una opción de color válida:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.BLACK (Default)
  • Color.WHITE

# Print VEXcode on the screen
brain.screen.print("VEXcode")
wait(2, SECONDS)
# Clear screen to black
brain.screen.clear_screen()

# Print VEXcode on the screen
brain.screen.print("VEXcode")

# Clear screen to blue using predefined color
brain.screen.clear_screen(Color.BLUE)

Una captura de pantalla de la pantalla V5 Brain con toda el área imprimible en azul 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 después de que se ejecute este método.

Uso:

brain.screen.set_font(font)

Parámetros

Descripción

font

Una opción de fuente válida a continuación.

Una captura de pantalla de la pantalla V5 Brain con números y letras impresas en blanco en la esquina superior izquierda en fuente MONO 12. Muestra de la A a la Z en una línea, en aproximadamente una cuarta parte del ancho de la pantalla. En la esquina inferior izquierda se leen 80 columnas y 20 filas.
FontType.MONO12

La misma imagen que la anterior, con fuente Mono 15. Muestra de la A a la Z en una línea, a lo largo de casi la mitad del ancho de la pantalla. En la esquina inferior izquierda se leen 68 columnas y 16 filas.
FontType.MONO15

La misma imagen que la anterior, con fuente Mono 20. Muestra de la A a la Z en una línea, en casi dos tercios del ancho de la pantalla. En la esquina inferior izquierda se leen 48 columnas y 12 filas.
FontType.MONO20

La misma imagen que la anterior, con fuente Mono 30. Muestra de la A a la Z en una línea, en casi todo el ancho de la pantalla. En la esquina inferior izquierda se leen 32 columnas y 8 filas.
FontType.MONO30

La misma imagen que la anterior, con fuente Mono 40. Muestra A-X en una línea, que abarca el ancho de la pantalla. En la esquina inferior izquierda se leen 24 columnas y 6 filas.
FontType.MONO40

La misma imagen que la anterior, con fuente Mono 60. Muestra A-P en una línea, que abarca el ancho de la pantalla. En la parte inferior se leen 16 columnas y 4 filas.
FontType.MONO60

La misma imagen que la anterior, con la fuente de la Propuesta 20. Muestra de la A a la Z en una línea, en casi dos tercios del ancho de la pantalla. En la esquina inferior izquierda se leen 48 columnas y 12 filas.
FontType.PROP20

La misma imagen que la anterior, con fuente de la Propuesta 30. Muestra de la A a la Z en una línea, que abarca casi el ancho de la pantalla. En la esquina inferior izquierda se leen 32 columnas y 8 filas.
FontType.PROP30

La misma imagen que la anterior, con fuente de la Propuesta 40. Muestra A-U en una línea, que abarca el ancho de la pantalla. En la esquina inferior izquierda se leen 24 columnas y 6 filas.
FontType.PROP40

La misma imagen que la anterior, con la fuente de la Propuesta 60. Muestra A-N en una línea, que abarca el ancho de la pantalla. En la parte inferior se leen 15 columnas y 4 filas.
FontType.PROP60

# Set the font type to MONO40
brain.screen.set_font(FontType.MONO40)
brain.screen.print("VEX")

Una captura de pantalla de la pantalla V5 Brain muestra VEX en blanco en la esquina superior izquierda, con una fuente más grande que la predeterminada.

set_pen_width#

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

Uso:

brain.screen.set_pen_width(value)

Parámetros

Descripción

value

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

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

Una captura de pantalla de la pantalla V5 Brain que muestra un rectángulo con bordes gruesos impresos en el cuadrante superior izquierdo de la pantalla.

set_pen_color#

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

Uso:

brain.screen.set_pen_color(color)

Parámetros

Descripción

color

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

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

# Draw a rectangle with orange borders
brain.screen.set_pen_color(Color.ORANGE)
brain.screen.draw_rectangle(50, 50, 130, 60)

Una captura de pantalla de la pantalla V5 Brain que muestra un rectángulo dibujado en naranja en el cuadrante superior izquierdo de la pantalla.

set_fill_color#

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

Uso:

brain.screen.set_fill_color(color)

Parámetros

Descripción

color

El color de relleno a usar. Las opciones incluyen:

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

# Draw a purple rectangle
brain.screen.set_fill_color(Color.PURPLE)
brain.screen.draw_rectangle(50, 130, 100, 60)

Una captura de pantalla de la pantalla V5 Brain que muestra un rectángulo lleno de púrpura en el cuadrante inferior izquierdo 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.

Uso:

brain.screen.set_origin(x, y)

Parámetros

Descripción

x

La coordenada x a establecer como origen, de 0 a 479.

y

La coordenada y para establecer como origen, de 0 a 239.

Sorteo#

draw_pixel#

draw_pixel dibuja un píxel en las coordenadas x e y seleccionadas utilizando el color actual del bolígrafo.

Uso:

brain.screen.draw_pixel(x, y)

Parámetros

Descripción

x

La coordenada x para dibujar el píxel, de 0 a 479, referenciado al origen de la pantalla.

y

La coordenada y para dibujar el píxel, de 0 a 239, referenciado al origen de la pantalla.

# Draw the pixels marking the corners of a square
brain.screen.draw_pixel(250, 100)
brain.screen.draw_pixel(275, 100)
brain.screen.draw_pixel(250, 125)
brain.screen.draw_pixel(275, 125)

Una captura de pantalla de la pantalla V5 Brain que muestra una variedad de píxeles que muestran las esquinas de un cuadrado cerca del centro de la pantalla.

draw_line#

draw_line dibuja una línea desde la primera coordenada de la pantalla hasta la segunda coordenada de la pantalla utilizando el ancho actual del lápiz y el color del lápiz.

Uso:

brain.screen.draw_line(start_x, start_y, end_x, end_y)

Parámetros

Descripción

start_x

La coordenada x en píxeles del inicio de la línea, de 0 a 479, referenciada al origen de la pantalla.

start_y

La coordenada y en píxeles del inicio de la línea, de 0 a 239, referenciada al origen de la pantalla.

end_x

La coordenada x en píxeles del final de la línea, de 0 a 479, referenciada al origen de la pantalla.

end_y

La coordenada y en píxeles del final de la línea, de 0 a 239, referenciada al origen de la pantalla.

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

Una captura de pantalla de la pantalla V5 Brain muestra una delgada línea diagonal a través del centro, desde la esquina superior izquierda hasta la esquina inferior derecha.

draw_rectangle#

draw_rectangle dibuja un rectángulo utilizando el ancho del lápiz actual, el color del lápiz y el color de relleno, a menos que se utilice el parámetro de color opcional.

Uso:

brain.screen.draw_rectangle(x, y, width, height, color)

Parámetros

Descripción

x

La coordenada x en píxeles de la esquina superior izquierda del rectángulo de 0 a 479.

y

La coordenada y en píxeles de la esquina superior izquierda del rectángulo de 0 a 239.

width

El ancho del rectángulo.

height

La altura del rectángulo.

color

Opcional. Una opción de color válida:

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

# Draw a rectangle on the screen
brain.screen.draw_rectangle(50, 50, 130, 60)

Una captura de pantalla de la pantalla del V5 Brain muestra un rectángulo con un delgado borde blanco impreso en el cuadrante superior izquierdo.

draw_circle#

draw_circle dibuja un círculo utilizando el ancho actual del bolígrafo, el color del bolígrafo y el color de relleno, a menos que se utilice el parámetro de color opcional.

Uso:

brain.screen.draw_circle(x, y, radius, color)

Parámetros

Descripción

x

La coordenada x en píxeles del centro del círculo, de 0 a 479, referenciada al origen de la pantalla.

y

La coordenada y en píxeles del centro del círculo, de 0 a 239, referenciada al origen de la pantalla.

radius

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

color

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

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

# Draw a circle on the screen
brain.screen.draw_circle(120, 120, 40)

Una captura de pantalla de la pantalla V5 Brain muestra un círculo con un delgado borde blanco dibujado en el centro.

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.

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

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.

Uso:

brain.screen.set_clip_region(x, y, width, height)

Parámetros

Descripción

x

La posición x de la esquina superior izquierda del rectángulo, referenciada al origen de la pantalla.

y

La posición y de la esquina superior izquierda del rectángulo, referenciada al origen de la pantalla.

width

El ancho del rectángulo.

height

La altura del rectángulo.

# 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 V5 Brain con texto blanco que dice Corte de con un cuadrado rojo sólido directamente debajo, en el cuadrante superior izquierdo de la pantalla que muestra lo que se imprime dentro de la región del clip.

Toque#

pressing#

pressing devuelve un booleano que indica si la pantalla Brain se está pulsando actualmente.

  • True : se está presionando la pantalla.

  • False - No se está presionando la pantalla.

Uso:

brain.screen.pressing()

Parámetros

Descripción

Este método no tiene parámetros.

# Change the screen's color after it's pressed
while not brain.screen.pressing():
    wait(5, MSEC)
brain.screen.set_fill_color(Color.GREEN)
brain.screen.draw_rectangle(0, 0, 479, 239)

# Display different messages after the screen is pressed
while not brain.screen.pressing():
    wait(5, MSEC)
brain.screen.print("First message!")
brain.screen.next_row()
# Lift finger to press the screen again
while brain.screen.pressing():
    wait(5, MSEC)
while not brain.screen.pressing():
    wait(5, MSEC)
brain.screen.print("Second message!")
brain.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 479 (derecha).

Uso:

brain.screen.x_position()

Parámetros

Descripción

Este método no tiene parámetros.

# Display a circle where the screen is pressed
while not brain.screen.pressing():
    wait(5, MSEC)
brain.screen.set_fill_color(Color.WHITE)
brain.screen.draw_circle(brain.screen.x_position(), brain.screen.y_position(), 20)

y_position#

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

Uso:

brain.screen.y_position()

Parámetros

Descripción

Este método no tiene parámetros.

# Display a circle where the screen is pressed
while not brain.screen.pressing():
    wait(5, MSEC)
brain.screen.set_fill_color(Color.WHITE)
brain.screen.draw_circle(brain.screen.x_position(), brain.screen.y_position(), 20)

Devoluciones de llamada#

pressed#

pressed registra una función que se llamará cuando se presione la pantalla del cerebro.

Uso:

brain.screen.pressed(callback, arg)

Parámetros

Descripción

callback

Una función previamente definida que se ejecuta cuando se presiona la pantalla Cerebro.

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.

def my_function():
  brain.screen.print("Screen pressed")

# Call my_function whenever the Brain screen is pressed
brain.screen.pressed(my_function)

released#

released registra una función que se llamará cuando se libere la pantalla (toque removed).

Uso:

brain.screen.released(callback, arg)

Parámetros

Descripción

callback

Una función previamente definida que se ejecuta cuando se libera la pantalla Brain.

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.

def my_function():
  brain.screen.print("Screen released")

# Call my_function whenever the Brain screen is released
brain.screen.released(my_function)