Pantalla#
Introducción#
La clase screen se deriva de la clase base brain. Controla cómo el V5 Brain 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.

Acceso#
The screen class can be accessed by:
Brain.Screen
Observaciones#
El objeto
screenlo proporciona el Cerebro. No se construye directamente.Los proyectos utilizan un único objeto
Brainglobal, por lo que las funciones de pantalla se denominanBrain.Screen.
Ejemplo#
/* This constructor is required when using VS Code.
A Brain is generated automatically at the start of
VEXcode projects. */
// Create the V5 Brain
brain Brain = brain();
// Print text to the Brain screen
Brain.Screen.print("Hello!");
Funciones de los miembros#
La clase screen incluye las siguientes funciones miembro:
print— Imprime texto formateado, números o valores booleanos en la pantalla Brain.setCursor— Mueve el cursor de texto a una fila y columna especificadas.newLine: borra el resto de la línea actual y mueve el cursor a la siguiente línea.clearLine: borra el resto de la línea actual o borra una línea especificada.row— Devuelve la fila donde se imprimirá el texto.column— Devuelve la columna donde se imprimirá el texto.getStringHeight— Devuelve la altura de una cadena en píxeles utilizando la fuente actual.getStringWidth— Devuelve el ancho de una cadena en píxeles utilizando la fuente actual.printAt— Imprime texto formateado en una ubicación de píxeles x, y.clearScreen: borra todos los dibujos y el texto de la pantalla Cerebro.setFont— Establece la fuente utilizada para imprimir en la pantalla.setPenWidth— Establece el grosor de las líneas dibujadas y los contornos de forma.setPenColor: establece el color del texto, los píxeles, las líneas y los contornos de forma.setFillColor— Establece el color de relleno para formas dibujadas y fondos de texto impreso.setOrigin— Establece el origen utilizado para las coordenadas de la pantalla.setClipRegion— Restringe la salida de la pantalla a una región rectangular.drawPixel— Dibuja un píxel en una coordenada.drawLine— Dibuja una línea entre dos puntos.drawRectangle— Dibuja un rectángulo en una ubicación x, y con un tamaño especificado.drawCircle— Dibuja un círculo en una ubicación x, y con un radio especificado.drawImageFromFile— Dibuja una imagen de un archivo de tarjeta SD en la pantalla.render: habilita el doble almacenamiento en búfer o representa el búfer posterior en la pantalla.pressing— Devuelve si la pantalla se está presionando actualmente.xPosition— Devuelve la coordenada x de la prensa de pantalla más reciente.yPosition— Devuelve la coordenada y de la prensa de pantalla más reciente.pressed— Registra una función de devolución de llamada para que se ejecute cuando se presiona la pantalla.released: registra una función de devolución de llamada para que se ejecute cuando se libera la pantalla después de presionarla.
Before calling any screen member functions, a brain instance must be created, as shown below:
// Create the V5 Brain
brain Brain = brain();
print#
Muestra texto, números o valores booleanos en la pantalla V5 Brain.
Available Functions1 — Imprime texto formateado usando literales de cadena o cadenas de estilo C de solo lectura.
void print( const char* format, ... );
Parameters2 — Imprime texto formateado utilizando matrices de caracteres modificables.
void print( char* format, ... );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Una cadena de formato proporcionada como un literal de cadena o una cadena de estilo C de solo lectura (por ejemplo, |
|
|
Una cadena de formato proporcionada como una matriz de caracteres modificable. |
|
Uno o más valores adicionales que se insertan en la cadena de formato, separados por comas. |
Esta función no devuelve un valor.
NotesLa salida comienza en la posición actual del cursor en la pantalla.
El texto impreso utiliza la fuente de la pantalla actual.
El texto impreso utiliza el color actual del bolígrafo.
El texto impreso con
printse imprime con un fondo, y el color de fondo está determinado por el color de relleno actual.Cuando se utiliza una cadena de formato, el número y los tipos de valores pasados deben coincidir con los especificadores de formato en la cadena.
// Display a message at the starting cursor
Brain.Screen.print("Hello, Robot!");

setCursor#
Mueve el cursor a una fila y columna específicas en la pantalla Cerebro V5. La próxima llamada print comenzará a imprimirse en esa ubicación.
void setCursor(
int32_t row,
int32_t col );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
La fila a la que mover el cursor. |
|
|
La columna a la que mover el cursor. |
Esta función no devuelve un valor.
NotesAfecta dónde comienza la salida de texto posterior cuando se usa
print.Las filas y columnas se basan en la fuente de pantalla establecida actualmente.
La fuente predeterminada (
mono20) utiliza 12 filas y 48 columnas.Llamar a
setCursorafecta solo a la posición de la salida de texto posterior.
// Display text starting at Row 3 Column 12
Brain.Screen.setCursor(3, 12);
Brain.Screen.print("Row 3, Column 12");

newLine#
Mueve el cursor al comienzo de la siguiente fila en la pantalla Cerebro.
Available Functionsvoid newLine();
Esta función no acepta ningún parámetro.
Return ValuesEsta función no devuelve un valor.
NotesSi el cursor está en el medio de una oración,
newLineborrará el resto de la fila después del cursor antes de pasar a la siguiente fila.Después de llamar a
newLine, el cursor se coloca en la primera columna de la siguiente línea.La posición del cursor y la numeración de las filas se establecen mediante
setCursor.
// Display two lines of text
Brain.Screen.print("Line 1");
Brain.Screen.newLine();
Brain.Screen.print("Line 2");

clearLine#
Borra el texto de una fila en la pantalla Cerebro V5.
Available Functions1 — Borra el resto de la línea actual de la posición del cursor.
void clearLine();
2 — Borra la fila especificada con el color de relleno configurado actualmente.
void clearLine( int number );
3 — Borra la fila especificada con un objeto predefinido o custom color.
void clearLine( int number, const color& color );
4 — Borra la fila especificada con un valor de color hexadecimal.
void clearLine( int number, const char* color );
Parameters5 — Borra la fila especificada con un valor de tono.
void clearLine( int number, int hue );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El número de fila a borrar. La numeración de filas comienza en |
|
|
Borra la fila usando un objeto de color
|
|
|
Borra la fila utilizando un valor de color hexadecimal (por ejemplo, |
|
|
Borra la fila utilizando un valor de tono entero en el rango de |
Esta función no devuelve un valor.
NotesBorrar una línea no cambia la posición actual del cursor.
La posición del cursor y la numeración de las filas se establecen mediante
setCursor.El valor del parámetro
huese basa en una rueda de color circular, como se muestra a continuación, donde los valores representan grados alrededor de la rueda (por ejemplo, rojo cerca de 0°, verde cerca de 120° y azul cerca de 240°).

// Display text on two rows
Brain.Screen.print("This text stays");
Brain.Screen.newLine();
Brain.Screen.print("This disappears");
// Wait 3 seconds before clearing row 2
wait(3, seconds);
Brain.Screen.clearLine(2);
row#
Devuelve la fila donde se imprimirá el texto en la pantalla V5 Brain.
Available Functionsint32_t row();
Esta función no acepta ningún parámetro.
Return ValuesDevuelve un int32_t que representa la fila donde se imprimirá el texto.
La numeración de filas comienza en 1.
NotesLa posición del cursor se basa en la fuente de la pantalla actual.
El valor devuelto indica dónde aparecerá la siguiente salida impresa.
El valor de la fila cambia cuando se imprime texto o cuando se llama a
setCursor.
// Display the cursor's current row
Brain.Screen.setCursor(3, 12);
Brain.Screen.print(Brain.Screen.row());

column#
Devuelve la columna donde se imprimirá el texto en la pantalla V5 Brain.
Available Functionsint32_t column();
Esta función no acepta ningún parámetro.
Return ValuesDevuelve un int32_t que representa la columna donde se imprimirá el texto.
La numeración de columnas comienza en 1.
NotesLa posición del cursor se basa en la fuente de la pantalla actual.
El valor devuelto indica dónde aparecerá la siguiente salida impresa.
El valor de la columna cambia cuando se imprime texto o cuando se llama a
setCursor.
// Display the cursor's current column
Brain.Screen.setCursor(5, 15);
Brain.Screen.print(Brain.Screen.column());

getStringHeight#
Devuelve la altura, en píxeles, de una cadena cuando se representa en la pantalla V5 Brain.
Available Functionsint32_t getStringHeight(
const char* cstr );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El texto a medir, proporcionado como una cadena de estilo C (por ejemplo, |
Devuelve un int32_t que representa la altura de la cadena en píxeles cuando se representa en la pantalla Cerebro.
La altura devuelta depende de la fuente de pantalla seleccionada actualmente.
Esta función mide la cadena sin dibujarla en la pantalla.
La altura devuelta refleja cómo aparecería la cadena cuando se imprima.
getStringWidth#
Devuelve el ancho, en píxeles, de una cadena cuando se representa en la pantalla V5 Brain.
Available Functionsint32_t getStringWidth(
const char* cstr );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El texto a medir, proporcionado como una cadena de estilo C (por ejemplo, |
Devuelve un int32_t que representa el ancho de la cadena en píxeles cuando se representa en la pantalla Cerebro.
El ancho devuelto depende de la fuente de pantalla seleccionada actualmente.
Esta función mide la cadena sin dibujarla en la pantalla.
El ancho devuelto refleja cómo aparecería la cadena cuando se imprima.
printAt#
Imprime texto, números o valores booleanos en una coordenada específica en la pantalla V5 Brain.
Available Functions1 — Imprime la salida formateada en la ubicación de píxel especificada.
void printAt( int32_t x, int32_t y, const char* format, ... );
Parameters2 — Imprime la salida formateada en la ubicación de píxel especificada y establece si el fondo del texto es opaco o transparente.
void printAt( int32_t x, int32_t y, bool bOpaque, const char* format, ... );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
La posición x para imprimir, referenciada al origen de la pantalla. |
|
|
La posición y para imprimir, referenciada al origen de la pantalla. |
|
|
Controla si el texto impreso se dibuja de forma opaca o transparente:
|
|
|
Una cadena de formato que controla lo que se imprime en la pantalla (por ejemplo, |
|
Uno o más valores adicionales que se insertan en la cadena de formato, separados por comas. |
Esta función no devuelve un valor.
NotesLas coordenadas
xeyson relativas al origen actual de la pantalla, que se puede cambiar utilizandosetOrigin.El texto impreso utiliza la fuente de la pantalla actual.
El texto impreso utiliza el color actual del bolígrafo.
Cuando se utiliza una cadena de formato, el número y los tipos de valores pasados deben coincidir con los especificadores de formato en la cadena.
// Print "Center" at the center of the screen
Brain.Screen.printAt(220, 120, "Center");

clearScreen#
Borra todos los dibujos y el texto de la pantalla Cerebro y restablece la posición del cursor a la fila 1, columna 1.
Available Functions1 — Borra la pantalla a negro.
void clearScreen();
2 — Borra la pantalla con un objeto predefinido o custom color.
void clearScreen( const color& color );
3 — Borra la pantalla con un valor de color hexadecimal.
void clearScreen( const char* color );
Parameters4 — Borra la pantalla con un valor de tono.
void clearScreen( int hue );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Borra la pantalla usando un objeto de color
|
|
|
Borra la pantalla utilizando un valor de color hexadecimal representado como una cadena (por ejemplo, |
|
|
Borra la pantalla utilizando un valor de tono entero en el rango de |
Esta función no devuelve un valor.
NotesEl valor del parámetro
huese basa en una rueda de color circular, como se muestra a continuación, donde los valores representan grados alrededor de la rueda (por ejemplo, rojo cerca de 0°, verde cerca de 120° y azul cerca de 240°).

// Clear screen after 2 seconds
Brain.Screen.print("VEXcode");
wait(2, seconds);
Brain.Screen.clearScreen();
// Clear screen to blue after 2 seconds
Brain.Screen.print("VEXcode");
wait(2, seconds);
Brain.Screen.clearScreen(blue);

setFont#
Establece la fuente utilizada para el texto que se muestra en la pantalla V5 Brain.
Esto controla la fuente aplicada a la salida de texto posterior cuando se utilizan funciones de texto de pantalla como print.
void setFont(
fontType font );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Establece la fuente en una de las siguientes:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
Esta función no devuelve un valor.
Examples// Print larger text
Brain.Screen.setFont(mono40);
Brain.Screen.print("VEX");

// Print in Chinese
Brain.Screen.setFont(fontType::cjk16);
Brain.Screen.print("VEX机器人");

setPenWidth#
Establece el grosor de las líneas dibujadas y los contornos de forma.
Available Functionsvoid setPenWidth(
uint32_t width );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El ancho del lápiz, en píxeles, de 0 a 32. |
Esta función no devuelve un valor.
NotesEl ancho del lápiz se aplica a funciones de dibujo como
drawLine,drawRectangleydrawCircle.
// Draw a rectangle with a pen width of 10
Brain.Screen.setPenWidth(10);
Brain.Screen.drawRectangle(50, 50, 130, 60);

setPenColor#
Establece el color del texto, los píxeles, las líneas y los contornos de forma.
Available Functions1 — Establece el color del bolígrafo mediante un objeto predefinido o color personalizado.
void setPenColor( const color& color );
2 — Establece el color del bolígrafo utilizando un valor de color hexadecimal.
void setPenColor( const char* color );
Parameters3 — Establece el color del bolígrafo utilizando un valor de tono.
void setPenColor( int hue );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Establece el color del lápiz usando un objeto de color
|
|
|
Establece el color del lápiz utilizando un valor de color hexadecimal representado como una cadena (por ejemplo, |
|
|
Establece el color del lápiz usando un valor de tono entero en el rango |
Esta función no devuelve un valor.
NotesEl color predeterminado de la pluma al comienzo de un proyecto es el
white.El color del bolígrafo se utiliza para contornos de formas (como con
drawCircleodrawRectangle), texto y salida numérica (conprintyprintAt), y píxeles individuales dibujados condrawPixel.El valor del parámetro
huese basa en una rueda de color circular, como se muestra a continuación, donde los valores representan grados alrededor de la rueda (por ejemplo, rojo cerca de 0°, verde cerca de 120° y azul cerca de 240°).

// Draw a rectangle with orange borders
Brain.Screen.setPenColor(orange);
Brain.Screen.drawRectangle(50, 50, 130, 60);

setFillColor#
Establece el color de relleno utilizado cuando se dibujan formas.
Available Functions1 — Establece el color de relleno usando un objeto predefinido o custom color.
void setFillColor( const color& color );
2 — Establece el color de relleno utilizando un valor de color hexadecimal.
void setFillColor( const char* color );
Parameters3 — Establece el color de relleno usando un valor de tono.
void setFillColor( int hue );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Establece el color de relleno usando un objeto de color
|
|
|
Establece el color de relleno utilizando un valor de color hexadecimal representado como una cadena (por ejemplo, |
|
|
Establece el color de relleno usando un valor de tono entero en el rango |
Esta función no devuelve un valor.
NotesEl color de relleno predeterminado al comienzo de un proyecto es
black.El color de relleno se utiliza para el interior de las formas (como con
drawCircleodrawRectangle).El color de relleno se utiliza como color de fondo para el texto impreso (como con
printyprintAt).Si se utiliza
transparentcon texto impreso, el fondo seráblack.
El valor del parámetro
huese basa en una rueda de color circular, como se muestra a continuación, donde los valores representan grados alrededor de la rueda (por ejemplo, rojo cerca de 0°, verde cerca de 120° y azul cerca de 240°).

// Draw a rectangle filled with purple
Brain.Screen.setFillColor(purple);
Brain.Screen.drawRectangle(50, 100, 130, 60);

setOrigin#
Establece el origen utilizado para el dibujo y la impresión basada en coordenadas en la pantalla Brain.
Available Functionsvoid setOrigin(
int32_t x,
int32_t y );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
La posición x del origen en relación con la esquina superior izquierda de la pantalla Cerebro de 0 a 479. |
|
|
La posición y del origen en relación con la esquina superior izquierda de la pantalla Cerebro de 0 a 239. |
Esta función no devuelve un valor.
NotesEl origen predeterminado es la esquina superior izquierda de la pantalla en la coordenada (0, 0).
El origen se aplica a funciones de coordenadas como
drawLine,drawRectangle,drawCircle, yprintAt.El origen permanece vigente hasta que se cambie de nuevo o se restablezca el proyecto.
setClipRegion#
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.
Available Functionsvoid setClipRegion(
int x,
int y,
int width,
int height );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
La coordenada x de la esquina superior izquierda de la región del clip, dada como un número entero de 0 a 479. |
|
|
La coordenada y de la esquina superior izquierda de la región del clip, dada como un número entero de 0 a 239. |
|
|
El ancho de la región del clip en píxeles, dado como un número entero de 0 a 479. |
|
|
La altura de la región del clip en píxeles, dada como un número entero de 0 a 239. |
Esta función no devuelve un valor.
NotesLas funciones de dibujo aún se ejecutan incluso si caen fuera de la región del clip, pero solo la parte dentro de la región es visible.
Las coordenadas
xeyson relativas al origen actual de la pantalla, que se puede cambiar utilizandosetOrigin.La región de clip se aplica solo al subproceso actual.
Establecer una nueva región de clip reemplaza cualquier región de clip establecida previamente para el subproceso actual.
// Restrict text and drawings to a specific region
Brain.Screen.setClipRegion(0, 0, 120, 120);
Brain.Screen.drawRectangle(60, 60, 100, 100, red);
Brain.Screen.printAt(60, 60, "Cut off!");

drawPixel#
Dibuja un píxel en la pantalla V5 Brain en la ubicación de píxeles x e y seleccionada.
Available Functionsvoid drawPixel(
int x,
int y );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
La coordenada x donde se dibujará el píxel, dada como un número entero de 0 a 479. |
|
|
La coordenada y donde se dibujará el píxel, dada como un número entero de 0 a 239. |
Esta función no devuelve un valor.
NotesLos píxeles se dibujan utilizando el color del lápiz actual configurado con
setPenColor.Las coordenadas
xeyson relativas al origen actual de la pantalla, que se puede configurar utilizandosetOrigin.Si la ubicación de píxel especificada está fuera de los límites de la pantalla, el píxel no se dibuja.
// Draw the pixels marking the corners of a square
Brain.Screen.drawPixel(250, 100);
Brain.Screen.drawPixel(275, 100);
Brain.Screen.drawPixel(250, 125);
Brain.Screen.drawPixel(275, 125);
![]()
drawLine#
Dibuja una línea recta que conecta dos puntos en la pantalla V5 Brain.
Available Functionsvoid drawLine(
int x1,
int y1,
int x2,
int y2 );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
La coordenada x inicial de la línea, dada como un número entero de 0 a 479. |
|
|
La coordenada y inicial de la línea, dada como un número entero de 0 a 239. |
|
|
La coordenada x final de la línea, dada como un número entero de 0 a 479. |
|
|
La coordenada y final de la línea, dada como un número entero de 0 a 239. |
Esta función no devuelve un valor.
NotesLas líneas se dibujan utilizando el color de pluma actual configurado con
setPenColor.El ancho de la línea está determinado por el ancho actual del bolígrafo establecido con
setPenWidth.Las coordenadas
xeyson relativas al origen actual de la pantalla, que se puede configurar utilizandosetOrigin.Si alguna parte de la línea se encuentra fuera de los límites de la pantalla, solo se dibuja la parte visible.
// Draw a line from the top left to bottom right of the screen
Brain.Screen.drawLine(0, 0, 479, 239);

drawRectangle#
Dibuja un rectángulo en la pantalla V5 Brain en la posición y el tamaño especificados.
Available Functions1 — Dibuja y rellena un rectángulo con el color de relleno configurado actualmente.
void drawRectangle( int x, int y, int width, int height );
2 — Dibuja y rellena un rectángulo con un objeto predefinido o custom color.
void drawRectangle( int x, int y, int width, int height, const color& color );
3 — Dibuja y rellena un rectángulo con un valor de color hexadecimal.
void drawRectangle( int x, int y, int width, int height, const char* color );
Parameters4 — Dibuja y rellena un rectángulo con un valor de tono.
void drawRectangle( int x, int y, int width, int height, int hue );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
La coordenada x de la esquina superior izquierda del rectángulo, dada como un número entero de 0 a 479. |
|
|
La coordenada y de la esquina superior izquierda del rectángulo, dada como un número entero de 0 a 239. |
|
|
El ancho del rectángulo, dado como un número entero de 0 a 479. |
|
|
La altura del rectángulo, dada como un número entero de 0 a 239. |
|
|
Rellena el rectángulo usando un objeto de color
|
|
|
Rellena el rectángulo con un valor de color hexadecimal (por ejemplo, |
|
|
Rellena el rectángulo utilizando un valor de tono en el rango de |
Esta función no devuelve un valor.
NotesEl contorno del rectángulo se dibuja utilizando el color del bolígrafo actual establecido con
setPenColor.El grosor del contorno está determinado por el ancho actual del bolígrafo establecido con
setPenWidth.Cuando no se proporciona ningún parámetro de
color, el interior del rectángulo se rellena utilizando el conjunto de colores de relleno actual consetFillColor.Las coordenadas
xeyson relativas al origen actual de la pantalla, que se puede cambiar utilizandosetOrigin.Si alguna parte del rectángulo se encuentra fuera de los límites de la pantalla, solo se dibuja la parte visible.
El valor del parámetro
huese basa en una rueda de color circular, como se muestra a continuación, donde los valores representan grados alrededor de la rueda (por ejemplo, rojo cerca de 0°, verde cerca de 120° y azul cerca de 240°).

// Draw a rectangle on the screen
Brain.Screen.drawRectangle(50, 50, 130, 60);

drawCircle#
Dibuja un círculo en la pantalla V5 Brain en la posición y el radio especificados.
Available Functions1 — Dibuja y rellena un círculo con el color de relleno configurado actualmente.
void drawCircle( int x, int y, int radius );
2 — Dibuja y rellena un círculo con un objeto predefinido o color personalizado.
void drawCircle( int x, int y, int radius, const color& color );
3 — Dibuja y rellena un círculo con un valor de color hexadecimal.
void drawCircle( int x, int y, int radius, const char* color );
Parameters4 — Dibuja y rellena un círculo con un valor de tono.
void drawCircle( int x, int y, int radius, int hue );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
La coordenada x del centro del círculo, dada como un número entero de 0 a 479. |
|
|
La coordenada y del centro del círculo, dada como un número entero de 0 a 239. |
|
|
El radio del círculo, dado como un número entero de 0 a 239 píxeles. |
|
|
Rellena el círculo usando un objeto de color
|
|
|
Rellena el círculo con un valor de color hexadecimal (por ejemplo, |
|
|
Rellena el círculo usando un valor de tono en el rango de |
Esta función no devuelve un valor.
NotesEl contorno del círculo se dibuja utilizando el color del bolígrafo actual establecido con
setPenColor.El grosor del contorno está determinado por el ancho actual del bolígrafo establecido con
setPenWidth.Cuando no se proporciona ningún parámetro de
color, el interior del círculo se rellena utilizando el conjunto de colores de relleno actual consetFillColor.Las coordenadas
xeyson relativas al origen actual de la pantalla, que se puede cambiar utilizandosetOrigin.El valor del parámetro
huese basa en una rueda de color circular, como se muestra a continuación, donde los valores representan grados alrededor de la rueda (por ejemplo, rojo cerca de 0°, verde cerca de 120° y azul cerca de 240°).

// Draw a circle on the screen
Brain.Screen.drawCircle(240, 120, 40);

drawImageFromFile#
Dibuja una imagen en la pantalla V5 Brain utilizando un archivo de imagen almacenado en la tarjeta SD.
Available Functionsbool drawImageFromFile(
const char* name,
int x,
int y );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El nombre de archivo de la imagen en la tarjeta SD. El archivo debe tener una extensión |
|
|
La coordenada x, en píxeles de 0 a 479, en la que se dibujará el borde izquierdo de la imagen. |
|
|
La coordenada y, en píxeles de 0 a 239, en la que se dibujará el borde superior de la imagen. |
Devuelve un booleano que indica si la imagen se dibujó correctamente:
true— La imagen se cargó y dibujó correctamente en la pantalla.false— La imagen no se pudo dibujar (por ejemplo, si el archivo no existe o no es válido).
Los formatos de imagen admitidos son
.bmpy.png.El tamaño del archivo de imagen no debe exceder los
512 KB.Se recomienda la codificación RLE de 8 bits para minimizar el tamaño del archivo.
Las dimensiones máximas de imagen admitidas son del tamaño de la pantalla Brain (aproximadamente 479 x 239 píxeles).
Las coordenadas
xeyson relativas al origen actual de la pantalla, que se puede cambiar utilizandosetOrigin.
// Draw a bmp file on the Brain's screen at coordinate 0, 0
Brain.Screen.drawImageFromFile("test_image.bmp", 0, 0);
render#
Habilita el doble búfer para la pantalla del cerebro. Una vez activada, las funciones de dibujo (como texto, formas o imágenes) ya no aparecerán inmediatamente durante el resto del proyecto. En su lugar, las actualizaciones solo se mostrarán cuando se vuelva a usar la renderización render 1). Esto permite actualizaciones de pantalla más fluidas y controladas, pero implica que no se verá nada hasta que se use la renderización render.
1 — Habilita el búfer doble o representa el búfer posterior en la pantalla.
bool render();
Parameters2 — Renderiza el búfer posterior a la pantalla con control sobre el comportamiento de sincronización vertical y la ejecución opcional del programador.
bool render( bool bVsyncWait, bool bRunScheduler = true );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
|
|
|
Opcional.
|
Devuelve un booleano que indica si los dibujos guardados en el búfer se representaron correctamente en la pantalla:
true— Los dibujos se representaron correctamente en la pantalla.false— Los dibujos no se pudieron representar en la pantalla.
Notes
Llamar
renderrequerirá que se utilicerenderpara el resto del proyecto.
Brain.Screen.render();
// Draw text to the back buffer
Brain.Screen.print("Render later...");
// Wait for a screen press to render drawings
while (!Brain.Screen.pressing()) {
wait(20, msec);
}
Brain.Screen.render();
pressing#
Informa si la pantalla V5 Brain se está presionando actualmente.
Available Functionsbool pressing();
Esta función no acepta ningún parámetro.
Return ValuesDevuelve un booleano que indica el estado presionado actual de la pantalla:true — La pantalla se está presionando actualmente. o false — La pantalla no se está presionando.
// Change the screen's color after it's pressed
while (Brain.Screen.pressing() == false) {
wait(5, msec);
}
Brain.Screen.setFillColor(green);
Brain.Screen.drawRectangle(0, 0, 479, 239);
// Display different messages after the screen is pressed
while (!Brain.Screen.pressing()) {
wait(5, msec);
}
Brain.Screen.print("First message!");
Brain.Screen.newLine();
// Lift finger to press the screen again
while (Brain.Screen.pressing()) {
wait(5, msec);
}
while (Brain.Screen.pressing() == false) {
wait(5, msec);
}
Brain.Screen.print("Second message!");
Brain.Screen.newLine();
xPosition#
Devuelve la coordenada x de la última pulsación en la pantalla V5 Brain.
Available Functionsint32_t xPosition();
Esta función no acepta ningún parámetro.
Return ValuesDevuelve un int32_t que representa la coordenada x, en píxeles de 0 a 479, de la última prensa de pantalla.
// Display a circle where the screen is pressed
while (Brain.Screen.pressing() == false) {
wait(5, msec);
}
Brain.Screen.drawCircle(Brain.Screen.xPosition(), Brain.Screen.yPosition(), 20, white);
yPosition#
Devuelve la coordenada y de la última pulsación en la pantalla V5 Brain.
Available Functionsint32_t yPosition();
Esta función no acepta ningún parámetro.
Return ValuesDevuelve un int32_t que representa la coordenada y, en píxeles de 0 a 239, de la última prensa de pantalla.
// Display a circle where the screen is pressed
while (Brain.Screen.pressing() == false) {
wait(5, msec);
}
Brain.Screen.drawCircle(Brain.Screen.xPosition(), Brain.Screen.yPosition(), 20, white);
pressed#
Registra una función que se llamará cuando se presione la pantalla V5 Brain.
Available Functions1 — Llama a una función cuando se presiona la pantalla.
void pressed( void (*callback)(void) );
Parameters2 — Llama a una función cuando se presiona la pantalla y pasa un argumento definido por el usuario a la función de devolución de llamada.
void pressed( void (*callback)(void*), void* arg );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Una función que se llama cuando se presiona la pantalla. |
|
|
Una función que se llama cuando se presiona la pantalla y recibe un argumento definido por el usuario. |
|
|
Un valor definido por el usuario que se pasa a la función de devolución de llamada cuando se presiona la pantalla. |
Esta función no devuelve un valor.
NotesLa función de devolución de llamada se ejecuta cada vez que se presiona la pantalla Cerebro.
Solo se puede registrar una función de devolución de llamada a la vez; la llamada
pressednuevamente reemplaza la devolución de llamada anterior.La función de devolución de llamada debe devolver
void.
Defina la función de devolución de llamada (fuera de
int main())// Tracks how many times the screen is pressed. void onScreenPressed(void* arg) { int* count = (int*)arg; (*count)++; Brain.Screen.clearScreen(); Brain.Screen.setCursor(1, 1); Brain.Screen.print("Pressed %d times", *count); }Registrar la devolución de llamada dentro de
int main()int main() { int pressCount = 0; // Register the callback and pass a value to update. Brain.Screen.pressed(onScreenPressed, &pressCount); while (true) { wait(20, msec); } }
released#
Registra una función que se llamará cuando se libere la pantalla V5 Brain después de presionarla.
Available Functions1 — Llama a una función cuando se libera la pantalla después de presionarla.
void released( void (*callback)(void) );
Parameters2 — Llama a una función cuando se libera la pantalla después de presionarla y pasa un argumento definido por el usuario a la función de devolución de llamada.
void released( void (*callback)(void*), void* arg );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Una función que se llama cuando la pantalla se libera después de ser presionada. |
|
|
Una función que se llama cuando se libera la pantalla después de presionarla y recibe un argumento definido por el usuario. |
|
|
Un valor definido por el usuario que se pasa a la función de devolución de llamada cuando se libera la pantalla después de presionarla. |
Esta función no devuelve un valor.
NotesLa función de devolución de llamada se ejecuta cada vez que se libera la pantalla Brain después de presionarla.
Solo se puede registrar una función de devolución de llamada a la vez; la llamada
releasednuevamente reemplaza la devolución de llamada anterior.La función de devolución de llamada debe devolver
void.
Defina la función de devolución de llamada (fuera de
int main())// Tracks how many times the screen is released. void onScreenReleased(void* arg) { int* count = (int*)arg; (*count)++; Brain.Screen.clearScreen(); Brain.Screen.setCursor(1, 1); Brain.Screen.print("Released %d times", *count); }Registrar la devolución de llamada dentro de
int main()int main() { int releaseCount = 0; // Register the callback and pass a value to update. Brain.Screen.released(onScreenReleased, &releaseCount); while (true) { wait(20, msec); } }










