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.

O ecrã do V5 Brain com linhas de grelha vermelhas que mostra o layout de 12 linhas e 48 colunas no total. As dimensões em pixéis são 479 de largura por 239 de altura. O canto superior esquerdo começa em (0,0) pixéis e a linha 1, coluna 1, enquanto o canto inferior direito termina em (479, 239) pixéis e a linha 12, coluna 48.

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

text

O texto, número ou valor da variável a imprimir.

sep

Opcional. Uma string para introduzir entre os valores. Deve ser escrita como um argumento de palavra-chave (sep=). O predefinido é “”.

precision

Opcional. O número de casas decimais a apresentar ao imprimir números simples. Deve ser escrito como um argumento nomeado (precision=). O padrão é 2.

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

Uma captura de ecrã do V5 Brain mostrando "Olá Robô" impresso no ecrã no canto superior esquerdo em texto branco.

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

row

A linha para a qual mover o cursor.

column

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

Uma captura de ecrã do V5 Brain que mostra a Linha 3, Coluna 12 impressa na parte superior, perto do centro do ecrã, nessa posição.

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

Uma captura de ecrã do ecrã do V5 Brain que mostra duas linhas de texto branco no canto superior esquerdo. A linha superior diz Linha 1 e a segunda linha directamente abaixo dela diz Linha 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

row

Opcional. A linha a limpar. O predefinido é a linha atual do cursor.

color

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

Uma captura de ecrã do V5 Brain que mostra o texto 3 em branco no quadrante superior esquerdo do ecrã, na posição da linha 3, coluna 2.

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

Uma captura de ecrã do ecrã do V5 Brain que mostra o texto 15 em branco no quadrante superior esquerdo do ecrã, na posição da linha 3, coluna 15.

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

string

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

string

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

color

Opcional. Uma opção de cor válida:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.BLACK (Padrão)
  • 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)

Uma captura de ecrã do ecrã do V5 Brain com toda a área imprimível em azul brilhante.

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

font

Abaixo, segue uma opção de fonte válida.

Uma captura de ecrã do ecrã do V5 Brain com números e letras impressos a branco no canto superior esquerdo, na fonte MONO 12. Mostra AZ numa linha, ocupando cerca de um quarto da largura do ecrã. No canto inferior esquerdo, lê-se 80 colunas e 20 linhas.
FontType.MONO12

A mesma imagem da anterior, com a fonte Mono 15. Mostra AZ numa linha, ocupando quase metade da largura do ecrã. No canto inferior esquerdo, lê-se 68 colunas e 16 linhas.
FontType.MONO15

A mesma imagem da anterior, com a fonte Mono 20. Mostra AZ numa linha, ocupando quase dois terços da largura do ecrã. No canto inferior esquerdo, lê-se 48 colunas e 12 linhas.
FontType.MONO20

A mesma imagem da anterior, com a fonte Mono 30. Mostra AZ numa linha, ocupando quase toda a largura do ecrã. No canto inferior esquerdo, lê-se 32 colunas e 8 linhas.
FontType.MONO30

A mesma imagem da anterior, com a fonte Mono 40. Mostra AX numa linha, ocupando toda a largura do ecrã. No canto inferior esquerdo, lê-se 24 colunas e 6 linhas.
FontType.MONO40

A mesma imagem da anterior, com a fonte Mono 60. Mostra AP numa linha, ocupando toda a largura do ecrã. Na parte inferior, lê-se 16 colunas e 4 linhas.
FontType.MONO60

A mesma imagem da anterior, com a fonte Prop 20. Mostra AZ numa linha, ocupando quase dois terços da largura do ecrã. No canto inferior esquerdo, lê-se 48 colunas e 12 linhas.
FontType.PROP20

A mesma imagem da anterior, com a fonte Prop 30. Mostra AZ numa linha, ocupando quase toda a largura do ecrã. No canto inferior esquerdo, lê-se 32 colunas e 8 linhas.
FontType.PROP30

A mesma imagem da anterior, com a fonte Prop 40. Mostra AU numa linha, ocupando toda a largura do ecrã. No canto inferior esquerdo, lê-se 24 colunas e 6 linhas.
FontType.PROP40

A mesma imagem da anterior, com a fonte Prop 60. Mostra AN numa linha, ocupando toda a largura do ecrã. Na parte inferior, lê-se 15 colunas e 4 linhas.
FontType.PROP60

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

Uma captura de ecrã do ecrã do V5 Brain mostra VEX em branco no canto superior esquerdo, numa fonte maior que a padrão.

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

value

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)

Uma captura de ecrã do ecrã do V5 Brain que mostra um retângulo com margens grossas impresso no quadrante superior esquerdo do ecrã.

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

color

A cor da caneta e da fonte a utilizar. As opções incluem:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.TRANSPARENT
  • Color.WHITE
Também pode especificar uma cor personalizada.

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

Uma captura de ecrã do ecrã do V5 Brain que mostra um retângulo desenhado a laranja no quadrante superior esquerdo do ecrã.

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

color

A cor de preenchimento a utilizar. As opções incluem:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.TRANSPARENT
  • Color.WHITE
Também pode especificar uma cor personalizada.

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

Uma captura de ecrã do ecrã do V5 Brain que mostra um retângulo preenchido com roxo no quadrante inferior esquerdo do ecrã.

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

x

A coordenada x a definir como origem, de 0 a 479.

y

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

x

A coordenada x para desenhar o pixel, de 0 a 479, referenciada à origem do ecrã.

y

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)

Uma captura de ecrã do V5 Brain que mostra uma variedade de pixéis que representam os cantos de um quadrado perto do centro do ecrã.

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

start_x

A coordenada x em pixéis do início da linha, de 0 a 479, referenciada à origem do ecrã.

start_y

A coordenada y em pixéis do início da linha, de 0 a 239, referenciada à origem do ecrã.

end_x

A coordenada x em pixéis da extremidade da linha, de 0 a 479, referenciada à origem do ecrã.

end_y

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)

Uma captura de ecrã do ecrã do V5 Brain mostra uma fina linha diagonal no centro, do canto superior esquerdo ao canto inferior direito.

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

x

A coordenada x, em pixéis, do canto superior esquerdo do retângulo, variando de 0 a 479.

y

A coordenada y, em pixéis, do canto superior esquerdo do retângulo varia de 0 a 239.

width

A largura do retângulo.

height

A altura do retângulo.

color

Opcional. Uma opção de cor válida:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.TRANSPARENT
  • Color.WHITE
Também pode especificar uma cor personalizada.

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

Uma captura de ecrã do ecrã do V5 Brain mostra um retângulo com uma fina borda branca impresso no quadrante superior esquerdo.

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

x

A coordenada x em pixéis do centro do círculo, de 0 a 479, referenciada à origem do ecrã.

y

A coordenada y, em pixéis, do centro do círculo, variando de 0 a 239, tendo como referência a origem do ecrã.

radius

O raio do círculo, em pixéis.

color

Opcional. A cor de preenchimento a utilizar. As opções incluem:

  • Color.RED
  • Color.GREEN
  • Color.BLUE
  • Color.YELLOW
  • Color.ORANGE
  • Color.PURPLE
  • Color.CYAN
  • Color.TRANSPARENT
  • Color.WHITE
Também pode especificar uma cor personalizada.

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

Uma captura de ecrã do ecrã do V5 Brain mostra um círculo com uma fina borda branca desenhada no centro.

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

x

A posição x do canto superior esquerdo do retângulo, em relação à origem do ecrã.

y

A posição y do canto superior esquerdo do retângulo, em relação à origem do ecrã.

width

A largura do retângulo.

height

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)

Uma captura de ecrã do ecrã do V5 Brain com texto branco que diz "Corte de" com um quadrado vermelho sólido diretamente por baixo, no quadrante superior esquerdo do ecrã, mostrando o que é impresso dentro da região de recorte.

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

callback

Uma função previamente definida que é executada quando o ecrã Brain é pressionado.

arg

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

callback

Uma função previamente definida que é executada quando o ecrã do Brain é libertado.

arg

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)