Ecrã#
Introdução#
Os métodos de ecrã controlam a forma como o robô de codificação VEX AIM exibe texto, números e gráficos no seu ecrã e como responde aos toques no ecrã.
Segue-se uma lista de todos os métodos:
Toque – Detetar e responder a toques no ecrã.
pressing– Retorna se o ecrã está a ser pressionado no momento.x_position– Devolve a coordenada x da última pressão no ecrã.y_position– Devolve a coordenada y da última pressão no ecrã.
Impressão com cursor – Apresenta texto utilizando um sistema de linhas/colunas.
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.get_row– Retorna a linha actual do cursor.get_column– Retorna a coluna actual do cursor.
Impressão XY – Apresentar texto numa coordenada específica do ecrã.
print_at– Imprime texto, números ou valores de variáveis numa coordenada x e y específica.set_origin– Define a origem utilizada para a impressão e desenho baseados em coordenadas.
Modificadores – Limpam o ecrã ou atualizam as definições visuais.
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.
Desenhar – Adicione gráficos e imagens ao ecrã.
draw_pixel– Desenha um pixel numa posição x e y específica.draw_line– Desenha uma linha entre dois pontos.draw_rectangle– Desenha um rectângulo.draw_circle– Desenha um círculo.show_file– Apresenta uma imagem carregada.set_clip_region– Restringe onde podem aparecer desenhos e texto.
Callbacks – Executam funções quando o ecrã é pressionado ou libertado.
Toque#
pressing#
pressing returns a Boolean indicating whether the robot’s screen is currently being pressed.
True– O ecrã está a ser pressionado.False– O ecrã não está a ser pressionado.
Usage:
robot.screen.pressing()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
# Turn LEDs white only while the screen is pressed.
while True:
if robot.screen.pressing():
robot.led.on(ALL_LEDS, WHITE)
else:
robot.led.off(ALL_LEDS)
wait(50, MSEC)
# Display different messages after the screen is pressed
while not robot.screen.pressing():
wait(5, MSEC)
robot.screen.print("First message!")
robot.screen.next_row()
# Lift finger to press the screen again
while robot.screen.pressing():
wait(5, MSEC)
while not robot.screen.pressing():
wait(5, MSEC)
robot.screen.print("Second message!")
robot.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 240 (direita).
Usage:robot.screen.x_position()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
# Display the x-coordinate of where
# the screen is pressed
while True:
if robot.screen.pressing():
robot.screen.clear_screen()
robot.screen.print(robot.screen.x_position())
wait (50, MSEC)
y_position#
y_position devolve a coordenada y da última pressão no ecrã como um número inteiro de 0 (superior) a 240 (inferior).
Usage:robot.screen.y_position()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
# Display the y-coordinate of where
# the screen is pressed
while True:
if robot.screen.pressing():
robot.screen.clear_screen()
robot.screen.print(robot.screen.y_position())
wait (50, MSEC)
Impressão do cursor#
print#
print prints text, numbers, or variable values on the robot’s screen at the current cursor position and font.
Usage:robot.screen.print(text)
Parâmetros |
Descrição |
|---|---|
|
O texto, número ou valor da variável a ser apresentado no ecrã. |
# Display a message at the starting cursor position
robot.screen.print("Hello, Robot!")

set_cursor#
set_cursor move o cursor de texto para uma linha e coluna específicas no ecrã do robô. A chamada seguinte print começará a imprimir nesse local. O número de linhas e colunas que cabem depende da fonte selecionada. Com a fonte monoespaçada média padrão, o ecrã pode exibir claramente até 8 linhas e 13 colunas. O texto colocado para além deste intervalo pode ser cortado ou tornar-se mais 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.
Usage:robot.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 2
robot.screen.set_cursor(3, 2)
robot.screen.print("Row 3, Column 2")

next_row#
next_row move o cursor para a coluna 1 na linha seguinte do ecrã do robô.
Usage:robot.screen.next_row()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
# Display two lines of text
robot.screen.print("Line 1")
robot.screen.next_row()
robot.screen.print("Line 2")

clear_row#
clear_row limpa uma única linha de texto no ecrã do robot.
Usage:robot.screen.clear_row(row, color)
Parâmetro |
Descrição |
|---|---|
|
Opcional. A linha a limpar, em número inteiro. O predefinido é a linha atual do cursor. |
|
Opcional. A cor a aplicar à linha limpa. As opções incluem:
|
# Display text on two rows
robot.screen.print("This text stays")
robot.screen.next_row()
robot.screen.print("This text disappears")
# Wait 3 seconds before clearing only the second row
wait(3, SECONDS)
robot.screen.clear_row()
# Turn the 5th row green
robot.screen.clear_row(5, GREEN)

get_row#
get_row devolve a linha actual onde o texto será impresso como um número inteiro.
Usage:robot.screen.get_row()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
# Set cursor to (3,2) and print row number
robot.screen.set_cursor(3, 2)
robot.screen.print(robot.screen.get_row())

get_column#
get_column devolve a coluna actual onde o texto será impresso como um número inteiro.
Usage:robot.screen.get_column()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
# Set cursor to (3,2) and print column number
robot.screen.set_cursor(3, 2)
robot.screen.print(robot.screen.get_column())

Impressão XY#
print_at#
print_at imprime texto, números ou valores de variáveis no ecrã do robô numa coordenada x e y específica em pixéis, utilizando a fonte e a origem definidas atualmente. x define a distância da margem esquerda onde o texto começa e y define onde fica a parte inferior das letras. Este método ignora a posição atual do cursor.

Nota: O círculo vermelho indica quais as coordenadas que serão visíveis no ecrã circular do robô AIM. As coordenadas que se encontram fora do círculo vermelho pertencem ao intervalo de 0 a 240, mas não aparecerão no ecrã.
Usage:
robot.screen.print_at(text, x, y)
Parâmetro |
Descrição |
|---|---|
|
O texto, número ou valor da variável a imprimir no ecrã. |
|
A posição horizontal do texto, como um número inteiro de 0 a 240 pixéis. 0 é à esquerda; 240 é à direita. |
|
A posição vertical do texto, como um número inteiro de 0 a 240 pixéis. 0 é o topo; 240 é a parte inferior. |
# Display a message in the middle of the screen
robot.screen.print_at("Hello, Robot!", x=40, y=120)

set_origin#
set_origin define a origem utilizada para o desenho e impressão baseada em coordenadas no ecrã do robô. Por predefinição, a origem é o canto superior esquerdo do ecrã.
Usage:
robot.screen.set_origin(x, y)
Parâmetro |
Descrição |
|---|---|
|
A nova coordenada x a definir como origem, fornecida como um número inteiro de 0 a 240. |
|
A nova coordenada y a definir como origem, fornecida como um número inteiro de 0 a 240. |
# Set the origin to the center of the screen
robot.screen.set_origin(120, 120)
# Draw a rectangle at the new origin
robot.screen.draw_rectangle(0, 0, 80, 40)

Mutantes#
clear_screen#
clear_screen limpa todos os desenhos e textos do ecrã do robot. Por predefinição, também reinicia a posição do cursor para a linha 1, coluna 1.
Usage:
robot.screen.clear_screen(color)
Parâmetro |
Descrição |
|---|---|
|
Opcional. Define a cor do ecrã. As opções incluem:
|
# Draw a circle, and clear it after 2 seconds
robot.screen.draw_circle(120, 120, 60)
wait(2, SECONDS)
robot.screen.clear_screen()
# Set the background color of the screen to red
robot.screen.clear_screen(RED)

set_font#
set_font define a fonte utilizada para apresentar o texto no ecrã do robô. Esta fonte será aplicada a todo o texto impresso com print ou print_at. A fonte padrão no início de um projeto é MONO24.
Usage:
robot.screen.set_font(fontname)
Parâmetro |
Descrição |
|---|---|
|
Define a fonte para uma das seguintes opções:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
# Display text using a larger font
robot.screen.set_font(MONO40)
robot.screen.print("VEX")

set_pen_width#
set_pen_width define a espessura das linhas desenhadas e dos contornos das formas.
Usage:
robot.screen.set_pen_width(width)
Parâmetro |
Descrição |
|---|---|
|
A largura da caneta, em pixéis, varia de 0 a 32. |
# Draw a rectangle with a pen width of 10
robot.screen.set_pen_width(10)
robot.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.
Usage:
robot.screen.set_pen_color(color)
Parâmetro |
Descrição |
|---|---|
|
Opcional. A cor da caneta e da fonte a utilizar. As opções incluem:
|
# Draw a rectangle with a red pen
robot.screen.set_pen_color(RED)
robot.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 e quando o texto impresso utiliza um fundo.
Usage:robot.screen.set_fill_color(color)
Parâmetro |
Descrição |
|---|---|
|
Opcional. A cor de preenchimento a utilizar. As opções incluem:
|
# Draw two orange rectangles
robot.screen.set_fill_color(ORANGE)
robot.screen.draw_rectangle(50, 50, 100, 60)
robot.screen.draw_rectangle(50, 130, 100, 60)

# Display text with a purple background
robot.screen.set_fill_color(PURPLE)
robot.screen.print("Highlight")

Desenhar#
draw_pixel#
draw_pixel desenha um pixel na coordenada x e y seleccionada utilizando a cor da caneta.
Usage:
robot.screen.draw_pixel(x, y)
Parâmetro |
Descrição |
|---|---|
|
A coordenada x onde o pixel será desenhado, fornecida como um número inteiro de 0 a 240. |
|
A coordenada y onde o pixel será desenhado, fornecida como um número inteiro de 0 a 240. |
# Draw a pixel at the center of the screen
robot.screen.draw_pixel(120, 120)
![]()
draw_line#
draw_line desenha uma linha da primeira coordenada do ecrã (x1, y1) para a segunda coordenada do ecrã (x2, y2) utilizando a largura da caneta e a cor da caneta atuais.
As coordenadas x e y utilizam a origem padrão de (0, 0) a menos que tenha sido definida uma origem diferente utilizando set_origin.
Usage:
robot.screen.draw_line(x1, y1, x2, y2)
Parâmetro |
Descrição |
|---|---|
|
A coordenada x inicial da linha, dada como um número inteiro de 0 a 240. |
|
A coordenada y inicial da linha, dada como um número inteiro de 0 a 240. |
|
A coordenada x final da linha, dada como um número inteiro de 0 a 240. |
|
A coordenada y final da recta, dada como um número inteiro de 0 a 240. |
# Draw a line from the top left to bottom right of the screen
robot.screen.draw_line(0, 0, 240, 240)

draw_rectangle#
draw_rectangle desenha um rectângulo com o seu canto superior esquerdo na coordenada (x, y) seleccionada e um tamanho determinado pela largura e altura fornecidas, tudo medido em pixéis. O contorno do retângulo é desenhado utilizando a largura da caneta e a cor da caneta atuais. O interior é preenchido com a cor de preenchimento actual, a menos que seja utilizado o parâmetro opcional color.
As coordenadas x e y utilizam a origem padrão de (0, 0) a menos que tenha sido definida uma origem diferente utilizando set_origin.
Usage:robot.screen.draw_rectangle(x, y, width, height, color)
Parâmetro |
Descrição |
|---|---|
|
A coordenada x do canto superior esquerdo do retângulo, dada como um número inteiro de 0 a 240. |
|
A coordenada y do canto superior esquerdo do retângulo, dada como um número inteiro de 0 a 240. |
|
A largura do retângulo, dada como um número inteiro de 0 a 240. |
|
A altura do retângulo, dada como um número inteiro de 0 a 240. |
|
Opcional. A cor de preenchimento do retângulo. As opções incluem:
|
# Draw a red rectangle on the screen
robot.screen.draw_rectangle(50, 50, 130, 60, RED)

draw_circle#
draw_circle desenha um círculo com o seu centro na coordenada (x, y) seleccionada e um tamanho determinado pelo raio fornecido, tudo medido em pixéis. O contorno do círculo é desenhado utilizando a largura da caneta e a cor da caneta atuais. O interior é preenchido com a cor de preenchimento actual, a menos que seja utilizado o parâmetro opcional color.
As coordenadas x e y utilizam a origem padrão de (0, 0) a menos que tenha sido definida uma origem diferente utilizando set_origin.
Usage:robot.screen.draw_circle(x, y, radius, color)
Parâmetro |
Descrição |
|---|---|
|
A coordenada x do centro da circunferência, dada como um número inteiro de 0 a 240. |
|
A coordenada y do centro da circunferência, dada como um número inteiro de 0 a 240. |
|
O raio do círculo, dado como um número inteiro de 0 a 240 pixéis. |
|
Opcional. A cor de preenchimento do círculo. As opções incluem:
|
# Draw a green circle on the screen
robot.screen.draw_circle(120, 120, 40, GREEN)

show_file#
show_file exibe uma imagem personalizada carregada no ecrã do robô, com a sua posição definida utilizando os parâmetros x, ye center com base no ponto de referência da imagem.
Usage:
robot.screen.show_file(file, x, y, center)
Parâmetro |
Descrição |
|---|---|
|
A imagem personalizada a utilizar, de |
|
O deslocamento horizontal da imagem, dado como um número inteiro em pixéis. Os valores positivos movem a imagem para a direita; valores negativos deslocam-na para a esquerda. |
|
O deslocamento vertical da imagem, dado como um número inteiro em pixéis. Os valores positivos movem a imagem para baixo; valores negativos movem-na para cima. |
|
Opcional. Se |
# Display uploaded Image 1 in the top left corner
robot.screen.show_file(IMAGE1, 0, 0)
# Show the same image on both sides of the screen
# Image size is 120 x 120
robot.screen.show_file(IMAGE1, 65, 0, center=True)
robot.screen.show_file(IMAGE1, -65, 0, center=True)
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.
Usage:
robot.screen.set_clip_region(x, y, width, height)
Parâmetro |
Descrição |
|---|---|
|
A coordenada x do canto superior esquerdo da região de recorte, dada como um decimal ( |
|
A coordenada y do canto superior esquerdo da região de recorte, dada como um decimal ( |
|
A largura da região de recorte em pixéis, dada como um decimal ( |
|
A altura da região de recorte em pixéis, dada como um decimal ( |
# Restrict text and drawings to a specific region
robot.screen.set_clip_region(0, 0, 120, 120)
robot.screen.draw_rectangle(60, 60, 100, 100, RED)
robot.screen.print_at("Cut off!", x=60, y=60)

Retornos de chamada#
pressed#
pressed regista um método a ser chamado quando o ecrã do robô é pressionado.
Usage:robot.screen.pressed(callback, arg)
Parâmetros |
Descrição |
|---|---|
|
Uma função que está previamente definida para ser executada quando o ecrã do controlador é 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. |
# Set the LEDs to green when the screen is pressed.
def screen_touched():
robot.led.on(ALL_LEDS, GREEN)
robot.screen.pressed(screen_touched)
released#
released regista um método a ser chamado quando o ecrã do robô for libertado.
Usage:robot.screen.released(callback, arg)
Parâmetros |
Descrição |
|---|---|
|
Uma função que está previamente definida para ser executada quando o ecrã do controlador é 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. |
# Set the LEDs to blue when the screen is released.
def screen_released():
robot.led.on(ALL_LEDS, BLUE)
robot.screen.released(screen_released)










