Ecrã#
Introdução#
Os métodos de ecrã controlam a forma como o V5 Brain exibe texto, números e gráficos no seu ecrã táctil e como responde à entrada por toque.
Por defeito, o tipo de letra para impressão no Brain é monospaced small, que tem 12 linhas e 48 colunas.
Para desenho, a resolução do cérebro é de 480 x 240 pixéis.

Segue-se uma lista de todos os métodos:
Impressão com cursor — Posicione e imprima texto.
print— Imprime texto, números ou valores de variáveis na posição atual do cursor.set_cursor— Move o cursor para uma linha e coluna específicas.next_row— Desloca o cursor para a coluna 1 da linha seguinte.clear_row— Limpa uma linha de texto.row— Devolve a linha onde o texto será impresso.column— Retorna a coluna onde o texto será impresso.print_at— Imprime texto, números ou valores de variáveis numa coordenada x e y específica.get_string_width— Retorna a largura de uma string em pixéis utilizando a fonte actual.get_string_height— Retorna a altura de uma string em pixéis utilizando a fonte actual.clear_line— Limpa uma linha de texto.new_line— Move o cursor para uma nova linha.
Mutadores — Alterem as definições do ecrã, as cores e o comportamento de desenho.
clear_screen— Limpa o ecrã de todos os desenhos e textos.set_font— Define o tipo de letra para texto impresso.set_pen_width— Define a espessura das linhas desenhadas e dos contornos das formas.set_pen_color— Define a cor do texto, os pixéis, as linhas e os contornos das formas.set_fill_color— Define a cor de preenchimento para as formas desenhadas e para os fundos de texto impressos.set_origin— Define a origem utilizada para a impressão e desenho baseados em coordenadas.
Desenhar — Adicionar elementos gráficos ao ecrã.
draw_pixel— Desenha um pixel numa coordenada.draw_line— Desenha uma linha entre dois pontos.draw_rectangle— Desenha um rectângulo.draw_circle— Desenha um círculo.render— Atualiza o ecrã do cérebro com texto e desenhos apenas quando é chamado.set_clip_region— Restringe o local onde podem aparecer desenhos e texto.
Getters — Verificam o estado e a posição do toque.
pressing— Retorna se o ecrã está a ser premida.x_position— Devolve a coordenada x da última pressão no ecrã.y_position— Devolve a coordenada y da última pressão no ecrã.
Respostas de chamada — Respondem a eventos de toque no ecrã.
pressed— Regista uma função a ser chamada quando o ecrã é premido.released— Regista uma função a ser chamada quando o ecrã for libertado.
Para obter informações sobre como construir um Brain para obter acesso aos métodos do ecrã screen , consulte Brain.
Impressão do cursor#
print#
print imprime texto, números ou valores de variáveis no ecrã do Brain na posição e tipo de letra atuais do cursor.
Utilização:
brain.screen.print(text, sep, precision)
Parâmetros |
Descrição |
|---|---|
|
O texto, número ou valor da variável a imprimir. |
|
Opcional. Uma string para introduzir entre os valores. Deve ser escrita como um argumento de palavra-chave (sep=). O predefinido é |
|
Opcional. O número de casas decimais a apresentar ao imprimir números simples. Deve ser escrito como um argumento nomeado ( |
# Print on the Brain's screen
brain.screen.print("Hello, Robot!")

set_cursor#
set_cursor move o cursor para uma linha e coluna específicas no ecrã Brain. A chamada seguinte print começará a imprimir nesse local. Quantas linhas e colunas cabem confortavelmente depende da fonte selecionada. Com a fonte monoespaçada média padrão, podem ser apresentadas até 8 linhas e 13 colunas com clareza. O texto colocado para além deste limite pode ser cortado ou tornar-se difícil de ler.
As fontes monoespaçadas têm caracteres com a mesma largura, tornando o posicionamento do texto consistente. Em contraste, as fontes proporcionais variam na largura dos caracteres, pelo que algumas letras ocupam mais espaço do que outras. No entanto, independentemente do tipo utilizado, set_cursor posiciona o cursor com base no tamanho da linha e da coluna, e não no estilo da fonte. O tamanho da letra pode ser ajustado utilizando set_font.
Utilização:
brain.screen.set_cursor(row, column)
Parâmetros |
Descrição |
|---|---|
|
A linha para a qual mover o cursor. |
|
A coluna para a qual deve mover o cursor. |
# Display text starting at Row 3 Column 12
brain.screen.set_cursor(3, 12)
brain.screen.print("Row 3, Column 12")

next_row#
next_row move o cursor para a linha seguinte.
Utilização:
brain.screen.next_row()
Parâmetros |
Descrição |
|---|---|
Este método não tem 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")

clear_row#
clear_row limpa uma única linha de texto no ecrã do Brain.
Utilização:
brain.screen.clear_row(row, color)
Parâmetros |
Descrição |
|---|---|
|
Opcional. A linha a limpar. O predefinido é a linha atual do cursor. |
|
Opcional. Uma cor válida, um valor hexadecimal ou uma string 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#
row returns the row where text will be printed as an integer.
Utilização:
brain.screen.row()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
# Display the cursor's current row
brain.screen.set_cursor(3, 2)
brain.screen.print(brain.screen.row())

column#
column returns the column where text will be printed as an integer.
Utilização:
brain.screen.column()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
# Display the cursor's current column
brain.screen.set_cursor(3, 15)
brain.screen.print(brain.screen.column())

print_at#
print_at imprime texto, números ou valores de variáveis no ecrã do Brain em coordenadas x e y específicas com a fonte e origem atuais.
Utilização:
brain.screen.print_at(text, x, y, sep, precision, opaque)
Parâmetros |
Descrição |
|---|---|
|
O texto, número ou valor da variável a imprimir. |
|
A coordenada x a imprimir como argumento de palavra-chave ( |
|
A coordenada y a ser impressa como um argumento de palavra-chave ( |
|
Opcional. Uma string para introduzir entre os valores. Deve ser escrita como um argumento de palavra-chave (sep=). O predefinido é |
|
Opcional. O número de casas decimais a apresentar ao imprimir números simples. Deve ser escrito como um argumento nomeado ( |
|
Opcional. Um valor booleano que indica se o texto deve ou não limpar os pixéis de fundo. O predefinido é |
# Display text at the center of the screen
brain.screen.print_at("Center", x=220, y=120)

get_string_width#
get_string_width devolve a largura de uma string em pixéis como um número inteiro, utilizando a fonte actual.
Usage:
brain.screen.get_string_width(string)
Parâmetros |
Descrição |
|---|---|
|
A corda a medir. |
get_string_height#
get_string_height devolve a altura de uma string em pixéis como um número inteiro, utilizando a fonte actual.
Usage:
brain.screen.get_string_height(string)
Parâmetros |
Descrição |
|---|---|
|
A corda a medir. |
clear_line#
clear_line limpa a linha de texto actual.
Usage:
brain.screen.clear_line()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
new_line#
new_line move o cursor para a coluna 1 na linha seguinte do ecrã Brain.
Utilização:
brain.screen.new_line()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
Mutantes#
clear_screen#
clear_screen limpa todos os desenhos e textos do ecrã do Brain.
Utilização:
brain.screen.clear_screen(color)
Parâmetros |
Descrição |
|---|---|
|
Opcional. Uma opção de cor válida:
|
# 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)

set_font#
set_font define a fonte utilizada para apresentar o texto no ecrã do Brain. Esta fonte será aplicada a todo o texto impresso após a execução deste método.
Utilização:
brain.screen.set_font(font)
Parâmetros |
Descrição |
|---|---|
|
Abaixo, segue uma opção de fonte válida. |
|
|
|
|---|---|---|
|
|
|
|
|
|
|
# Set the font type to MONO40
brain.screen.set_font(FontType.MONO40)
brain.screen.print("VEX")

set_pen_width#
set_pen_width define a espessura das linhas desenhadas e dos contornos das formas.
Utilização:
brain.screen.set_pen_width(value)
Parâmetros |
Descrição |
|---|---|
|
A largura da caneta, em pixéis, varia 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)

set_pen_color#
set_pen_color define a cor do texto, os pixéis, as linhas e os contornos das formas.
Utilização:
brain.screen.set_pen_color(color)
Parâmetros |
Descrição |
|---|---|
|
A cor da caneta e da fonte a utilizar. As opções incluem:
|
# Draw a rectangle with orange borders
brain.screen.set_pen_color(Color.ORANGE)
brain.screen.draw_rectangle(50, 50, 130, 60)

set_fill_color#
set_fill_color define a cor de preenchimento utilizada quando as formas são desenhadas.
Utilização:
brain.screen.set_fill_color(color)
Parâmetros |
Descrição |
|---|---|
|
A cor de preenchimento a utilizar. As opções incluem:
|
# Draw a purple rectangle
brain.screen.set_fill_color(Color.PURPLE)
brain.screen.draw_rectangle(50, 130, 100, 60)

set_origin#
set_origin define a origem utilizada para o desenho e impressão baseada em coordenadas no ecrã do Brain. Por predefinição, a origem é o canto superior esquerdo do ecrã.
Utilização:
brain.screen.set_origin(x, y)
Parâmetros |
Descrição |
|---|---|
|
A coordenada x a definir como origem, de 0 a 479. |
|
A coordenada y a definir como origem, de 0 a 239. |
Desenhar#
draw_pixel#
draw_pixel desenha um pixel na coordenada x e y selecionada, utilizando a cor da caneta atual.
Utilização:
brain.screen.draw_pixel(x, y)
Parâmetros |
Descrição |
|---|---|
|
A coordenada x para desenhar o pixel, de 0 a 479, referenciada à origem do ecrã. |
|
A coordenada y para desenhar o pixel, de 0 a 239, com referência à origem do ecrã. |
# 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)
![]()
draw_line#
draw_line desenha uma linha da primeira coordenada do ecrã até à segunda coordenada do ecrã, utilizando a largura e a cor da caneta actuais.
Utilização:
brain.screen.draw_line(start_x, start_y, end_x, end_y)
Parâmetros |
Descrição |
|---|---|
|
A coordenada x em pixéis do início da linha, de 0 a 479, referenciada à origem do ecrã. |
|
A coordenada y em pixéis do início da linha, de 0 a 239, referenciada à origem do ecrã. |
|
A coordenada x em pixéis da extremidade da linha, de 0 a 479, referenciada à origem do ecrã. |
|
A coordenada y em pixéis da extremidade da linha, de 0 a 239, em relação à origem do ecrã. |
# Draw a line from the top left to bottom right of the screen
brain.screen.draw_line(0, 0, 479, 239)

draw_rectangle#
draw_rectangle desenha um retângulo utilizando a largura da caneta, a cor da caneta e a cor de preenchimento atuais, a menos que seja utilizado o parâmetro opcional color.
Utilização:
brain.screen.draw_rectangle(x, y, width, height, color)
Parâmetros |
Descrição |
|---|---|
|
A coordenada x, em pixéis, do canto superior esquerdo do retângulo, variando de 0 a 479. |
|
A coordenada y, em pixéis, do canto superior esquerdo do retângulo varia de 0 a 239. |
|
A largura do retângulo. |
|
A altura do retângulo. |
|
Opcional. Uma opção de cor válida:
|
# Draw a rectangle on the screen
brain.screen.draw_rectangle(50, 50, 130, 60)

draw_circle#
draw_circle desenha um círculo utilizando a largura da caneta, a cor da caneta e a cor de preenchimento atuais, a menos que seja utilizado o parâmetro opcional color.
Utilização:
brain.screen.draw_circle(x, y, radius, color)
Parâmetros |
Descrição |
|---|---|
|
A coordenada x em pixéis do centro do círculo, de 0 a 479, referenciada à origem do ecrã. |
|
A coordenada y, em pixéis, do centro do círculo, variando de 0 a 239, tendo como referência a origem do ecrã. |
|
O raio do círculo, em pixéis. |
|
Opcional. A cor de preenchimento a utilizar. As opções incluem:
Color.TRANSPARENT |
# Draw a circle on the screen
brain.screen.draw_circle(120, 120, 40)

render#
O comando render activa o duplo buffer para o ecrã do Brain. Uma vez acionado, quaisquer comandos de desenho (como texto, formas ou imagens) não aparecerão imediatamente durante o resto do projeto. Em vez disso, as actualizações só serão apresentadas quando o comando render for utilizado novamente. Isto permite atualizações de ecrã mais suaves e controladas, mas significa que nada será visível até que o comando render seja utilizado.
Utilização:
brain.screen.render()
Parâmetros |
Descrição |
|---|---|
Este método não tem 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#
O parâmetro set_clip_region define uma área rectangular no ecrã onde serão apresentados todos os desenhos e textos. Qualquer conteúdo fora dessa região não será mostrado.
Utilização:
brain.screen.set_clip_region(x, y, width, height)
Parâmetros |
Descrição |
|---|---|
|
A posição x do canto superior esquerdo do retângulo, em relação à origem do ecrã. |
|
A posição y do canto superior esquerdo do retângulo, em relação à origem do ecrã. |
|
A largura do retângulo. |
|
A altura do retâ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)

Toque#
pressing#
pressing returns a Boolean indicating whether the Brain screen is currently being pressed.
True- O ecrã está a ser pressionado.False- O ecrã não está a ser pressionado.
Utilização:
brain.screen.pressing()
Parâmetros |
Descrição |
|---|---|
Este método não tem 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 devolve a coordenada x da última pressão no ecrã como um número inteiro de 0 (esquerda) a 479 (direita).
Utilização:
brain.screen.x_position()
Parâmetros |
Descrição |
|---|---|
Este método não tem 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 devolve a coordenada y da última pressão no ecrã como um número inteiro de 0 (superior) a 239 (inferior).
Utilização:
brain.screen.y_position()
Parâmetros |
Descrição |
|---|---|
Este método não tem 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)
Retornos de chamada#
pressed#
Ao premir pressed regista uma função a ser chamada quando o ecrã do cérebro é premida.
Utilização:
brain.screen.pressed(callback, arg)
Parâmetros |
Descrição |
|---|---|
|
Uma função previamente definida que é executada quando o ecrã Brain é pressionado. |
|
Opcional. Uma tupla contendo argumentos para passar para a função de callback. Consulte Utilizar funções com parâmetros para obter mais informações. |
def my_function():
brain.screen.print("Screen pressed")
# Call my_function whenever the Brain screen is pressed
brain.screen.pressed(my_function)
released#
released regista uma função a ser chamada quando o ecrã é libertado (toque removido).
Utilização:
brain.screen.released(callback, arg)
Parâmetros |
Descrição |
|---|---|
|
Uma função previamente definida que é executada quando o ecrã do Brain é libertado. |
|
Opcional. Uma tupla contendo argumentos para passar para a função de callback. Consulte Utilizar funções com parâmetros para obter mais informações. |
def my_function():
brain.screen.print("Screen released")
# Call my_function whenever the Brain screen is released
brain.screen.released(my_function)









