Pantalla#
Introducción#
La clase screen se deriva de la clase base brain. Controla cómo el cerebro IQ (1.ª generación) muestra texto y valores en su pantalla integrada.
La pantalla IQ (1st gen) Brain admite hasta 5 filas y 21 columnas de texto.

Acceso#
The screen class can be accessed by:
Brain.Screen
Observaciones#
El objeto
screenes proporcionado por el Cerebro. No se construye directamente.Los proyectos utilizan un único objeto global
Brain, por lo que las funciones de pantalla se llaman utilizandoBrain.Screen.
Ejemplo#
/* This constructor is required when using VS Code.
A Brain is generated automatically at the start of
VEXcode projects. */
// Create the 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 del cerebro.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 específica.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 usando la fuente actual.getStringWidth— Devuelve el ancho de una cadena en píxeles usando la fuente actual.printAt— Imprime texto formateado en una ubicación de píxeles x, y (opcionalmente opaco).clearScreen— Borra toda la pantalla (opcionalmente a un color específico).setFont— Establece la fuente utilizada para imprimir en la pantalla.setPenWidth— Establece el grosor de las líneas dibujadas y los contornos de las formas.setPenColor— Establece el color del texto, los píxeles, las líneas y los contornos de las formas.setFillColor— Establece el color de relleno para las formas dibujadas y los fondos de texto impresos.setOrigin— Establece el origen utilizado para las coordenadas de la pantalla.setClipRegion— Restringe la salida de 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.render— Habilita el doble búfer o renderiza el búfer de respaldo en la pantalla.
Before calling any screen member functions, a brain instance must be created, as shown below:
// Create the Brain
brain Brain = brain();
print#
Muestra texto, números o valores booleanos en la pantalla IQ (1st gen) 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 una cadena literal 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
printsiempre se 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 del cerebro IQ (1.ª generación). La siguiente llamada a print comenzará a imprimir 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 al punto de inicio de la salida de texto subsiguiente al usar
print.Las filas y columnas se basan en la fuente de pantalla establecida actualmente.
Llamar a
setCursorafecta únicamente a la posición de la salida de texto posterior.
// Print at row 3 column 7
Brain.Screen.setCursor(3, 7);
Brain.Screen.print("VEXcode!");

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 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 posiciona 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("First message");
Brain.Screen.newLine();
Brain.Screen.print("Second message");

clearLine#
Borra el texto de una fila en la pantalla IQ (1st gen) Brain.
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 usando un valor de color hexadecimal (por ejemplo, |
|
|
Borra la fila usando un valor de tono entero en el rango |
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.La pantalla IQ (1st gen) Brain es una pantalla monocromática, por lo que los colores especificados no aparecerán en la pantalla.
// 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 posición actual de la fila del cursor en la pantalla IQ (1st gen) Brain.
Available Functionsint32_t row();
Esta función no acepta ningún parámetro.
Return ValuesDevuelve un valor 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("row: ", Brain.Screen.row());
column#
Devuelve la columna donde se imprimirá el texto en la pantalla IQ (1st gen) Brain.
Available Functionsint32_t column();
Esta función no acepta ningún parámetro.
Return ValuesDevuelve un valor 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.print("column: ", Brain.Screen.column());
getStringHeight#
Devuelve la altura, en píxeles, de una cadena cuando se representa en la pantalla IQ (1ª generación) Brain.
Available Functionsint32_t getStringHeight(
const char* cstr );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El texto que se va a medir, proporcionado como una cadena de estilo C (por ejemplo, |
Devuelve un valor int32_t que representa la altura de la cadena en píxeles cuando se muestra en la pantalla del 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 Brain de IQ (1ª generación).
Available Functionsint32_t getStringWidth(
const char* cstr );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El texto que se va a medir, proporcionado como una cadena de estilo C (por ejemplo, |
Devuelve un valor int32_t que representa el ancho de la cadena en píxeles cuando se muestra en la pantalla del 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 IQ (1st gen) 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
xyyson relativas al origen de la pantalla actual, que se puede cambiar usandosetOrigin.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 the number 1 at pixel (100, 40)
Brain.Screen.printAt(100, 40, 1);
clearScreen#
Borra todos los dibujos y el texto de la pantalla del cerebro.
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 usando un valor de color hexadecimal representado como una cadena (por ejemplo, |
|
|
Borra la pantalla usando un valor de tono entero en el rango |
Esta función no devuelve un valor.
NotesLa pantalla IQ (1st gen) Brain es una pantalla monocromática, por lo que los colores especificados no aparecerán en la pantalla.
// 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(red);
setFont#
Establece la fuente utilizada para el texto que se muestra en la pantalla IQ (1st gen) Brain.
Esto controla la fuente aplicada a la salida de texto posterior cuando se utilizan funciones de texto en pantalla como print.
void setFont(
fontType font );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Sets the font to one of the following:
|
Esta función no devuelve un valor.
Examples// Display two different fonts on
// two separate lines
Brain.Screen.setFont(mono20);
Brain.Screen.print("Mono Medium");
Brain.Screen.newLine();
Brain.Screen.setFont(prop20);
Brain.Screen.print("Prop Medium");
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 circle with a pen width of 5
Brain.Screen.drawCircle(40, 70, 20);
Brain.Screen.setPenWidth(5);
Brain.Screen.drawCircle(100, 70, 20);
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 usando 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.
NotesLa pantalla IQ (1st gen) Brain es una pantalla monocromática, por lo que los colores especificados no aparecerán en la pantalla.
Brain.Screen.drawRectangle(100, 50, 10, 20);
Brain.Screen.setPenColor(blue);
Brain.Screen.drawRectangle(50, 50, 10, 20);
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.
NotesLa pantalla IQ (1st gen) Brain es una pantalla monocromática, por lo que los colores especificados no aparecerán en la pantalla.
// Draw a circle filled with yellow
Brain.Screen.setFillColor(yellow);
Brain.Screen.drawCircle(50, 50, 20);
setOrigin#
Establece el origen utilizado para dibujar gráficos en la pantalla del cerebro.
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 del cerebro de 0 a 159. |
|
|
La posición y del origen en relación con la esquina superior izquierda de la pantalla del cerebro de 0 a 107. |
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 159. |
|
|
La coordenada y de la esquina superior izquierda de la región del clip, dada como un número entero de 0 a 107. |
|
|
El ancho de la región del clip en píxeles, dado como un número entero de 0 a 159. |
|
|
La altura de la región del clip en píxeles, dada como un número entero de 0 a 107. |
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
xyyson relativas al origen de la pantalla actual, que se puede cambiar usandosetOrigin.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 solo píxel en la pantalla IQ (1ª generación) Brain en la ubicación de píxeles x e y especificada.
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 159. |
|
|
La coordenada y donde se dibujará el píxel, dada como un número entero de 0 a 107. |
Esta función no devuelve un valor.
NotesLa pantalla IQ (1st gen) Brain es una pantalla monocromática, por lo que los colores especificados no aparecerán en la pantalla.
Las coordenadas
xyyson relativas al origen de la pantalla actual, que se puede establecer usandosetOrigin.Si la ubicación de píxel especificada está fuera de los límites de la pantalla, el píxel no se dibuja.
// Draw one pixel at the center
// of the screen
Brain.Screen.drawPixel(80, 50);
drawLine#
Dibuja una línea recta que conecta dos puntos en la pantalla IQ (1st gen) 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 159. |
|
|
La coordenada y inicial de la línea, dada como un número entero de 0 a 107. |
|
|
La coordenada x final de la línea, dada como un número entero de 0 a 159. |
|
|
La coordenada y final de la línea, dada como un número entero de 0 a 107. |
Esta función no devuelve un valor.
NotesLa pantalla IQ (1st gen) Brain es una pantalla monocromática, por lo que los colores especificados no aparecerán en la pantalla.
El ancho de la línea está determinado por el ancho de pluma actual establecido con
setPenWidth.Las coordenadas
xyyson relativas al origen de la pantalla actual, que se puede establecer usandosetOrigin.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, 159, 107);
drawRectangle#
Dibuja un rectángulo en la pantalla IQ (1ª generación) 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 159. |
|
|
La coordenada y de la esquina superior izquierda del rectángulo, dada como un número entero de 0 a 107. |
|
|
El ancho del rectángulo, dado como un número entero de 0 a 159. |
|
|
La altura del rectángulo, dada como un número entero de 0 a 107. |
|
|
Rellena el rectángulo usando un objeto de color
|
|
|
Rellena el rectángulo usando un valor de color hexadecimal (por ejemplo, |
|
|
Rellena el rectángulo usando un valor de tono en el rango |
Esta función no devuelve un valor.
NotesLa pantalla IQ (1st gen) Brain es una pantalla monocromática, por lo que los colores especificados no aparecerán en la pantalla.
El grosor del contorno está determinado por el ancho del lápiz actual establecido con
setPenWidth.Las coordenadas
xyyson relativas al origen de la pantalla actual, que se puede cambiar usandosetOrigin.Si alguna parte del rectángulo se encuentra fuera de los límites de la pantalla, solo se dibuja la parte visible.
// Draw a red rectangle on the screen
Brain.Screen.drawRectangle(25, 25, 100, 50, red);
drawCircle#
Dibuja un círculo en la pantalla IQ (1st gen) 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 159. |
|
|
La coordenada y del centro del círculo, dada como un número entero de 0 a 107. |
|
|
El radio del círculo, dado como un número entero de 0 a 107 píxeles. |
|
|
Rellena el círculo usando un objeto de color
|
|
|
Rellena el círculo usando un valor de color hexadecimal (por ejemplo, |
|
|
Rellena el círculo usando un valor de tono en el rango |
Esta función no devuelve un valor.
NotesLa pantalla IQ (1st gen) Brain es una pantalla monocromática, por lo que los colores especificados no aparecerán en la pantalla.
El grosor del contorno está determinado por el ancho del lápiz actual establecido con
setPenWidth.Las coordenadas
xyyson relativas al origen de la pantalla actual, que se puede cambiar usandosetOrigin.
// Draw a green circle on the screen
Brain.Screen.drawCircle(80, 50, 20, green);
render#
Habilita el doble búfer para la pantalla del cerebro. Una vez activada, las funciones de dibujo (como texto o formas) 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 valor booleano que indica si los dibujos guardados en el búfer se renderizaron correctamente en la pantalla:
true— Los dibujos se renderizaron correctamente en la pantalla.false— Los dibujos no se pudieron renderizar 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();