Ecrã#

Introdução#

Os métodos de ecrã controlam a forma como o controlador de drone VEX AIR exibe texto, números, gráficos e imagens no seu ecrã, e como responde aos toques no ecrã.

Segue-se uma lista dos métodos disponíveis:

Impressão com cursor – Apresenta o texto e gere o cursor de impressão.

  • 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 onde o texto será impresso.

  • get_column – Retorna a coluna onde será impresso o texto.

Impressão XY – Imprime texto em coordenadas baseadas em pixéis.

  • 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.

Mutadores – Altere as definições do ecrã, as cores e o comportamento de desenho.

  • clear_screen – Limpa todos os desenhos, textos e imagens do ecrã do controlador.

  • wait_for_render – Altera o desenho do ecrã para o comportamento de renderização posterior.

  • 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_text_fill_color – Define a cor de preenchimento atrás do texto impresso.

  • set_fill_color – Define a cor de preenchimento para as formas desenhadas.

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 utilizando a caneta actual e as cores de preenchimento.

  • draw_circle – Desenha um círculo utilizando a caneta actual e as cores de preenchimento.

  • show_file – Desenha uma imagem carregada.

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ã.

Callbacks – Executam funções quando o ecrã é pressionado ou libertado.

  • pressed – Regista uma função para chamar quando o ecrã é pressionado.

  • released – Regista uma função para chamar quando o ecrã é libertado.

Impressão do cursor#

print#

print imprime texto, números ou valores de variáveis ​​no ecrã do controlador na posição do cursor e fonte atuais.

Usage:
controller.screen.print(text)

Parâmetros

Descrição

text

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

sep

Opcional. O separador entre textos impressos. Por defeito, sep = ’ ‘

end

Opcional. A string anexada após o último texto impresso. Por defeito, end = ‘\n’

precision

Opcional. O número de casas decimais que um número de ponto flutuante será impresso como um número inteiro. Por predefinição, precisão precision = 5

# Display a message at the starting cursor position.
controller.screen.print("Time to fly!")

Uma captura de ecrã do ecrã do comando de drone VEX AIR, com texto branco no canto superior esquerdo que diz Hora de voar!

# Display the first 2 decimals of pi
controller.screen.print(3.1415, precision = 2)

A mesma captura de ecrã da anterior, com o texto 3.14 no canto superior esquerdo.

set_cursor#

set_cursor move o cursor para uma linha e coluna específicas no ecrã do controlador. A chamada seguinte print começará a imprimir nesse local. O espaçamento entre linhas e colunas terá em conta a fonte selecionada. Com a fonte monoespaçada média padrão, o ecrã pode exibir claramente até 18 linhas e 53 colunas. O texto colocado para além deste intervalo pode ser cortado ou tornar-se mais difícil de ler.

Usage:
controller.screen.set_cursor(row, col)

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 7 Column 25.
controller.screen.set_cursor(row=7, col=25)
controller.screen.print("Row 7, Column 25")

Uma captura de ecrã do ecrã do controlador de drone VEX AIR, com texto branco junto ao centro que indica Linha 7, Coluna 25 nessa posição do ecrã.

next_row#

next_row move o cursor para a coluna 1 na linha seguinte do ecrã do controlador.

Usage:
controller.screen.next_row()

Parâmetros

Descrição

Este método não tem parâmetros.

# Display two lines of text.
controller.screen.print("Line 1")
controller.screen.next_row()
controller.screen.print("Line 2")

Uma captura de ecrã do ecrã do controlador de drone VEX AIR, com texto branco no canto superior esquerdo que diz Linha 1 na linha superior e Linha 2 diretamente abaixo dela.

clear_row#

clear_row limpa uma linha de texto no ecrã do controlador.

Usage:
controller.screen.clear_row(row, color)

Parâmetro

Descrição

row

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

color

Opcional. A cor a aplicar à linha limpa. Se não for especificada uma cor, será utilizada a set_fill_color. As opções incluem:

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

# Clear only the second row of text
controller.screen.print("This text stays")
controller.screen.next_row()
controller.screen.print("This text disappears")
wait(3, SECONDS)
controller.screen.clear_row(2)

# Turn the 5th row green.
controller.screen.clear_row(5, GREEN)

get_row#

get_row devolve a linha actual onde o texto será impresso, como um número inteiro.

Usage:
controller.screen.get_row()

Parâmetros

Descrição

Este método não tem parâmetros.

# Display the cursor's current row.
controller.screen.set_cursor(row=7, col=25)
controller.screen.print(controller.screen.get_row())

Uma captura de ecrã do ecrã do controlador de drone VEX AIR, com texto branco junto ao centro que diz 7, na posição da linha 7, coluna 25.

get_column#

get_column devolve a coluna actual onde o texto será impresso, como um número inteiro.

Usage:
controller.screen.get_column()

Parâmetros

Descrição

Este método não tem parâmetros.

# Display the cursor's current column.
controller.screen.set_cursor(row=7, col=25)
controller.screen.print(controller.screen.get_column())

Uma captura de ecrã do ecrã do controlador de drone VEX AIR, com texto branco junto ao centro que diz 25, na linha 7, coluna 25.

Impressão XY#

set_origin#

set_origin define a origem (0, 0) utilizada para o desenho e impressão baseada em coordenadas no ecrã do controlador. Por predefinição, a origem é o canto superior esquerdo do ecrã. Este método pode repor a origem para uma localização alternativa de coordenadas (x, y) no ecrã.

Usage:
controller.screen.set_origin(x, y)

Parâmetro

Descrição

x

A nova coordenada x a definir como origem, fornecida como um número inteiro de 0 a 640.

y

A nova coordenada y a definir como origem, fornecida como um número inteiro de 0 a 480.

# Set the origin to the center of the screen.
controller.screen.set_origin(x=320, y=240)

# Draw a rectangle at the new origin.
controller.screen.draw_rectangle(x=0, y=0, width=80, height=40)

Uma captura de ecrã do ecrã do controlador VEX AIR drone, com um retângulo branco desenhado de forma a que o canto superior esquerdo seja o centro do ecrã.

Mutantes#

clear_screen#

clear_screen limpa todos os desenhos, texto e imagens do ecrã do controlador.

Usage:
controller.screen.clear_screen(row, col, color)

Parâmetro

Descrição

row

Opcional. A linha para a qual o cursor será movido após limpar o ecrã. O predefinido é 1.

col

Opcional. A coluna para a qual o cursor será movido após limpar o ecrã. O predefinido é 1.

color

Opcional. Define a cor do ecrã. Se row e col estiverem incluídas, utilize color como terceiro argumento. As opções incluem:

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

# Draw a circle, and clear it after 2 seconds.
controller.screen.draw_circle(x=320, y=240, radius=80)
wait(2, SECONDS)
controller.screen.clear_screen()

# Print two messages in the same spot
controller.screen.print("Hello!")
wait(3,SECONDS)
controller.screen.clear_screen(row=1, col=1)
controller.screen.print("Goodbye!")

# Set the background color of the screen to red.
controller.screen.clear_screen(color=RED)

wait_for_render#

wait_for_render alterna o comportamento de renderização do ecrã para renderizar mais tarde. Depois de este método ser executado, os comandos de ecrã seguintes não aparecerão no ecrã do controlador até que o próximo método wait_for_render seja executado.

Nota: Utilize esta opção antes de desenhar um grupo de texto, formas ou imagens e, em seguida, utilize-a novamente para renderizar a atualização completa de uma só vez.

Usage:
controller.screen.wait_for_render()

Parâmetro

Descrição

Este método não tem parâmetros.

# Display text and images when button 7 is pressed.
controller.screen.wait_for_render()
controller.screen.print("Screen rendered!")
controller.screen.draw_circle(x=320, y=240, radius=80)
while not controller.button7.pressing():
    wait(5, MSEC)
controller.screen.wait_for_render()

Uma captura de ecrã do ecrã do controlador de drone VEX AIR, com texto branco que diz "Ecrã renderizado!" no canto superior esquerdo e um círculo branco desenhado no centro do ecrã.

set_font#

set_font define a fonte utilizada para apresentar o texto no ecrã do controlador. Esta fonte será aplicada a todo o texto impresso após a execução deste método. A fonte padrão no início de um projeto é MONO20.

Usage:
controller.screen.set_font(fontname)

Parâmetro

Descrição

fontname

Define a fonte para uma das seguintes opções:

  • MONO12
  • MONO15
  • MONO20
  • MONO24
  • MONO30
  • MONO36
  • MONO40
  • MONO60
  • PROP20
  • PROP24
  • PROP30
  • PROP36
  • PROP40
  • PROP60

Uma captura de ecrã do comando drone VEX AIR com uma variedade de letras e números impressos em branco no canto superior esquerdo, na fonte Mono 12. As letras AZ estão numa linha e ocupam cerca de um terço da largura do ecrã. No canto inferior esquerdo, lêem-se 91 caracteres na horizontal e 30 linhas.
MONO12

A mesma imagem da anterior, agora com o tipo de letra Mono 15. As letras AZ estão numa linha e ocupam quase metade da largura do ecrã. No canto inferior esquerdo, lêem-se 71 caracteres na horizontal e 23 linhas.
MONO15

A mesma imagem da anterior, agora com o tipo de letra Mono 20. As letras AZ estão numa linha e ocupam metade da largura do ecrã. No canto inferior esquerdo, lêem-se 53 caracteres na horizontal e 18 linhas.
MONO20

A mesma imagem da anterior, agora com o tipo de letra Mono 24. As letras AZ estão numa linha e ocupam um pouco mais de metade da largura do ecrã. No canto inferior esquerdo, lê-se "45 caracteres na horizontal e 15 linhas".
MONO24

A mesma imagem da anterior, agora com o tipo de letra Mono 30. As letras AZ estão numa linha e ocupam cerca de três quartos da largura do ecrã. No canto inferior esquerdo, lê-se "35 caracteres na horizontal e 12 linhas".
MONO30

A mesma imagem da anterior, agora com o tipo de letra Mono 36. As letras AZ estão numa única linha, ocupando quase toda a largura do ecrã. No canto inferior esquerdo, lê-se "29 caracteres na horizontal e 10 linhas".
MONO36

A mesma imagem da anterior, agora com o tipo de letra Mono 40. As letras AZ estão numa linha, ocupando toda a largura do ecrã. No canto inferior esquerdo, lê-se "26 caracteres na horizontal e 9 linhas".
MONO40

A mesma imagem da anterior, agora com o tipo de letra Mono 60. As letras AQ estão numa linha, ocupando toda a largura do ecrã. No canto inferior esquerdo, lê-se "17 caracteres na horizontal e 6 linhas".
MONO60

A mesma imagem da anterior, agora com o tipo de letra da Proposta 20. As letras AZ estão numa linha e ocupam um pouco mais de metade da largura do ecrã. No canto inferior esquerdo, lêem-se 49 caracteres na horizontal e 18 linhas.
PROP20

A mesma imagem da anterior, agora com o tipo de letra da Proposta 24. As letras AZ estão numa linha e ocupam cerca de dois terços da largura do ecrã. No canto inferior esquerdo, lêem-se 42 caracteres na horizontal e 15 linhas.
PROP24

A mesma imagem da anterior, agora com o tipo de letra da Proposta 30. As letras AZ estão numa linha e ocupam três quartos da largura do ecrã. No canto inferior esquerdo, lêem-se 33 caracteres na horizontal e 12 linhas.
PROP30

A mesma imagem da anterior, agora com o tipo de letra da Proposta 36. As letras AZ estão numa só linha, ocupando quase toda a largura do ecrã. No canto inferior esquerdo, lê-se "27 caracteres na horizontal e 10 linhas".
PROP36

A mesma imagem da anterior, agora com o tipo de letra da Proposta 40. As letras AY estão numa linha, ocupando toda a largura do ecrã. No canto inferior esquerdo, lê-se "24 caracteres na horizontal e 9 linhas".
PROP40

A mesma imagem da anterior, agora com o tipo de letra da Proposta 60. As letras AQ estão numa linha, ocupando toda a largura do ecrã. No canto inferior esquerdo, lê-se "17 caracteres na horizontal e 6 linhas".
PROP60

# Display text using a larger font.
controller.screen.set_font(MONO40)
controller.screen.print("VEX")

A mesma imagem das anteriores, agora com a palavra VEX impressa em letra Mono 40 no canto superior esquerdo.

set_pen_width#

set_pen_width define a espessura das linhas desenhadas e dos contornos das formas.

Usage:
controller.screen.set_pen_width(width)

Parâmetro

Descrição

width

A largura da caneta, expressa como um número inteiro em pixéis.

# Draw a rectangle with a pen width of 10.
controller.screen.set_pen_width(10)
controller.screen.draw_rectangle(x=200, y=200, width=200, height=80)

Uma captura de ecrã do ecrã do controlador VEX AIR drone com um retângulo branco com uma borda grossa impresso no centro.

set_pen_color#

set_pen_color define a cor do texto, os pixéis, as linhas e os contornos das formas.

Usage:
controller.screen.set_pen_color(color)

Parâmetro

Descrição

color

Opcional. Define a cor da caneta e do tipo de letra. As opções incluem:

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

# Draw a rectangle with an orange outline.
controller.screen.set_pen_color(ORANGE)
controller.screen.draw_rectangle(x=200, y=150, width=240, height=150)
controller.screen.set_pen_color(WHITE)
controller.screen.print_at("VEXcode AIR", x=250, y=220)

Uma captura de ecrã do ecrã do controlador VEX AIR drone com um retângulo laranja fino com as palavras VEXcode AIR impressas a branco no centro.

set_text_fill_color#

set_text_fill_color define a cor de preenchimento atrás do texto impresso. A cor de preenchimento padrão do texto é transparente.

Usage:
controller.screen.set_text_fill_color(color)

Parâmetro

Descrição

color

Opcional. Define a cor de preenchimento do texto. As opções incluem:

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

# Display two colors behind text
controller.screen.set_text_fill_color(RED)
controller.screen.print("Red")
controller.screen.next_row()
controller.screen.set_text_fill_color(BLUE)
controller.screen.print("Blue")

Uma captura de ecrã do ecrã do controlador de drone VEX AIR com duas linhas de texto impressas no canto superior esquerdo. A primeira diz "Vermelho" em texto branco com destaque a vermelho, a segunda, diretamente abaixo, diz "Azul" em texto branco com destaque a azul.

set_fill_color#

set_fill_color define a cor de preenchimento utilizada quando as formas são desenhadas. A cor de preenchimento predefinida é preta.

Usage:
controller.screen.set_fill_color(color)

Parâmetro

Descrição

color

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

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

# Draw an orange-filled rectangle with text on top
controller.screen.set_fill_color(ORANGE)
controller.screen.draw_rectangle(x=200, y=150, width=250, height=150)
controller.screen.print_at("VEXcode AIR", x=250, y=220)

Uma captura de ecrã do ecrã do controlador VEX AIR drone com um retângulo laranja sólido com uma borda branca fina e o texto branco VEXcode AIR impresso no centro.

Desenhar#

draw_pixel#

draw_pixel desenha um pixel na coordenada x e y seleccionada utilizando a cor da caneta.

Usage:
controller.screen.draw_pixel(x, y)

Parâmetro

Descrição

x

A coordenada x onde o pixel será desenhado, fornecida como um número inteiro de 0 a 640.

y

A coordenada y onde o pixel será desenhado, fornecida como um número inteiro de 0 a 480.

# Draw five pixels in a diagonal.
controller.screen.draw_pixel(x=360, y=200)
controller.screen.draw_pixel(x=340, y=220)
controller.screen.draw_pixel(x=320, y=240)
controller.screen.draw_pixel(x=300, y=260)
controller.screen.draw_pixel(x=280, y=280)

Uma captura de ecrã do ecrã do controlador de drone VEX AIR com 5 pixéis uniformemente espaçados impressos numa linha diagonal no centro do ecrã.

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:
controller.screen.draw_line(x1, y1, x2, y2)

Parâmetro

Descrição

x1

A coordenada x inicial da linha, dada como um número inteiro de 0 a 640.

y1

A coordenada y inicial da linha, dada como um número inteiro de 0 a 480.

x2

A coordenada x final da linha, dada como um número inteiro de 0 a 640.

y2

A coordenada y final da recta, dada como um número inteiro de 0 a 480.

# Make an X across the screen.
controller.screen.draw_line(x1=0, y1=0, x2=640, y2=480)
controller.screen.set_pen_color(CYAN)
controller.screen.draw_line(x1=0, y1=480, x2=640, y2=0)

Uma captura de ecrã do controlador de drone VEX AIR com uma linha branca desenhada do canto superior esquerdo para o canto inferior direito e uma linha verde-azulada desenhada do canto inferior esquerdo para o canto superior direito, cruzando-se no centro.

draw_rectangle#

draw_rectangle desenha um retângulo utilizando a largura da caneta, cor da caneta e cor de preenchimento atuais, 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:
controller.screen.draw_rectangle(x, y, width, height, color)

Parâmetro

Descrição

x

A coordenada x do canto superior esquerdo do retângulo, dada como um número inteiro de 0 a 640.

y

A coordenada y do canto superior esquerdo do retângulo, dada como um número inteiro de 0 a 480.

width

A largura do retângulo, dada como um número inteiro de 0 a 640.

height

A altura do retângulo, dada como um número inteiro de 0 a 480.

color

Opcional. Define a cor de preenchimento do retângulo. As opções incluem:

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

# Draw two rectangles on the screen.
controller.screen.draw_rectangle(x=0, y=0, width=620, height=460)
controller.screen.draw_rectangle(x=200, y=180, width=200, height=100, color=GREEN)

Uma captura de ecrã do ecrã do controlador VEX AIR drone com um retângulo verde sólido com uma fina borda branca impressa no centro e um retângulo branco fino impresso à volta das bordas externas do ecrã.

draw_circle#

draw_circle desenha um círculo utilizando a largura da caneta, cor da caneta e cor de preenchimento atuais, 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:
controller.screen.draw_circle(x, y, radius, color)

Parâmetro

Descrição

x

A coordenada x do centro da circunferência, dada como um número inteiro de 0 a 640.

y

A coordenada y do centro do círculo, dada como um número inteiro de 0 a 480.

radius

O raio do círculo, dado como um número inteiro de 0 a 480 pixéis.

color

Opcional. Define a cor de preenchimento do círculo. As opções incluem:

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

# Draw one green circle on the screen.
controller.screen.set_fill_color(GREEN)
controller.screen.draw_circle(x=320, y=240, radius=200, color=GREEN)

Uma captura de ecrã do ecrã do controlador de drone VEX AIR com um grande círculo verde sólido com uma fina borda branca desenhada centrada no ecrã.

show_file#

show_file desenha uma imagem personalizada carregada no ecrã do controlador numa posição x e y, com dimensionamento, rotação e transparência alfa opcionais.

Usage:
controller.screen.show_file(file, x, y, scale_width, scale_height, rotation, use_alpha)

Parâmetro

Descrição

file

A imagem que será utilizada será a enviada pelo utilizador. As opções serão alteradas se os nomes das imagens forem editados no Painel de Controlo.

x

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.

y

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.

scale_width

Opcional. A largura da imagem para a qual a escala será aplicada, especificada como um número inteiro em pixéis.

scale_height

Opcional. A altura da imagem para a qual se está a dimensionar, indicada como um número inteiro em pixéis.

rotation

Opcional. O número de graus para rodar a imagem, dado como um número inteiro de 0 a 359.

use_alpha

Opcional. Indica se o canal alfa da imagem deve ser utilizado para transparência. As opções incluem: True ou False.

# Display uploaded Image 1 in the top left corner.
controller.screen.show_file(IMAGE1, x=0, y=0)

# Display uploaded Image 1 scaled to the full screen.
controller.screen.show_file(IMAGE1, x=65, y=0, scale_width=640, scale_height=480)

# Display uploaded Image 1 with rotation of 180 degrees.
controller.screen.show_file(IMAGE1, x=-65, y=0, rotation=180)

# Upload an image with a transparent background.
# Display uploaded Image 1 with alpha channel enabled.
controller.screen.show_file(IMAGE1, x=0, y=0, use_alpha=True)

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:
controller.screen.pressing()

Parâmetros

Descrição

Este método não tem parâmetros.

# Play a sound when the screen is pressed.
while True:
    if controller.screen.pressing():
        controller.sound.play_note("C5", 500)
    wait(5, MSEC)

# Display different messages after the screen is pressed
while not controller.screen.pressing():
    wait(5, MSEC)
controller.screen.print("First message!")
controller.screen.next_row()
# Lift finger to press the screen again
while controller.screen.pressing():
    wait(5, MSEC)
while not controller.screen.pressing():
    wait(5, MSEC)
controller.screen.print("Second message!")
controller.screen.next_row()

x_position#

x_position devolve a coordenada x em pixéis onde o ecrã foi pressionado pela última vez, como um número inteiro de 0 (esquerda) a 640 (direita).

Um controlador de drone VEX AIR com a área imprimível das dimensões do ecrã rotulada e contornada numa caixa vermelha. As coordenadas começam por (0,0) no canto superior esquerdo e seguem no sentido dos ponteiros do relógio com (0, 640), (480, 640) e (480,0) até ao canto inferior esquerdo. As coordenadas do centro do ecrã estão rotuladas como (240, 320).

Usage:
controller.screen.x_position()

Parâmetros

Descrição

Este método não tem parâmetros.

# Play a high or low note based on where screen is pressed.
while True:
    if controller.screen.pressing():
        if controller.screen.x_position() > 320:
            controller.sound.play_note("C6", 500)
        else:
            controller.sound.play_note("C4", 500)
    wait(5, MSEC)

y_position#

y_position devolve a coordenada y em pixéis onde o ecrã foi pressionado pela última vez, como um número inteiro de 0 (superior) a 480 (inferior).

Um controlador de drone VEX AIR com a área imprimível das dimensões do ecrã rotulada e contornada numa caixa vermelha. As coordenadas começam por (0,0) no canto superior esquerdo e seguem no sentido dos ponteiros do relógio com (0, 640), (480, 640) e (480,0) até ao canto inferior esquerdo. As coordenadas do centro do ecrã estão rotuladas como (240, 320).

Usage:
controller.screen.y_position()

# Play a high or low note based on where screen is pressed.
while True:
    if controller.screen.pressing():
        if controller.screen.y_position() > 240:
            controller.sound.play_note("C6", 500)
        else:
            controller.sound.play_note("C4", 500)
    wait(5, MSEC)

Retornos de chamada#

pressed#

Ao premir pressed regista uma função a ser chamada quando o ecrã do controlador é premida.

Usage:
controller.screen.pressed(callback, arg)

Parâmetros

Descrição

callback

Uma função que está previamente definida para ser executada quando o ecrã do controlador é 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.

# Play a sound when the screen is pressed.
def play_sound():
    controller.sound.play_note("C5", 500)

controller.screen.pressed(play_sound)

released#

released regista uma função a ser chamada quando o ecrã do controlador for libertado.

Usage:
controller.screen.released(callback, arg)

Parâmetros

Descrição

callback

Uma função que está previamente definida para ser executada quando o ecrã do controlador é 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.

# Play a sound when the screen is pressed.
def play_sound():
    controller.sound.play_note("C5", 500)

controller.screen.released(play_sound)