Pantalla#

Introducción#

Los métodos de pantalla controlan cómo el controlador de drones VEX AIR muestra texto, números, gráficos e imágenes en su pantalla, y cómo responde a las prensas de pantalla.

A continuación se muestra una lista de los métodos disponibles:

Impresión del cursor: muestra el texto y administra el cursor de impresión.

  • print – Imprime texto, números o valores de variables en la posición actual del cursor.

  • set_cursor – Mueve el cursor a una fila y columna específicas.

  • next_row – Mueve el cursor a la columna 1 de la siguiente fila.

  • clear_row – Borra una fila de texto.

  • get_row – Devuelve la fila donde se imprimirá el texto.

  • get_column – Devuelve la columna donde se imprimirá el texto.

XY Print – Imprimir texto en coordenadas basadas en píxeles.

  • print_at – Imprime texto, números o valores de variables en una coordenada x e y específica.

  • set_origin – Establece el origen utilizado para la impresión y el dibujo basados en coordenadas.

Mutadores: cambia la configuración de la pantalla, los colores y el comportamiento del dibujo.

  • clear_screen: borra todos los dibujos, textos e imágenes de la pantalla del controlador.

  • wait_for_render – Cambia el dibujo de la pantalla a un comportamiento de renderización posterior.

  • set_font – Establece la fuente para el texto impreso.

  • set_pen_width – Establece el grosor de las líneas dibujadas y los contornos de forma.

  • set_pen_color – Establece el color del texto, los píxeles, las líneas y los contornos de forma.

  • set_text_fill_color – Establece el color de relleno detrás del texto impreso.

  • set_fill_color – Establece el color de relleno para las formas dibujadas.

Dibujar: agrega gráficos e imágenes a la pantalla.

  • draw_pixel – Dibuja un píxel en una posición x e y específica.

  • draw_line – Dibuja una línea entre dos puntos.

  • draw_rectangle – Dibuja un rectángulo con el lápiz actual y los colores de relleno.

  • draw_circle – Dibuja un círculo con el lápiz actual y los colores de relleno.

  • show_file – Dibuja una imagen cargada.

Toque: detecte y responda a las pulsaciones de pantalla.

  • pressing – Devuelve si la pantalla se está presionando actualmente.

  • x_position – Devuelve la coordenada x de la última prensa de pantalla.

  • y_position – Devuelve la coordenada y de la última prensa de pantalla.

Devoluciones de llamada: ejecuta las funciones cuando se presiona o libera la pantalla.

  • pressed – Registra una función para llamar cuando se presiona la pantalla.

  • released – Registra una función para llamar cuando se libera la pantalla.

Impresión del cursor#

print#

print imprime texto, números o valores variables en la pantalla del controlador en la posición del cursor y fuente actuales.

Usage:
controller.screen.print(text)

Parámetros

Descripción

text

El texto, número o valor de la variable a imprimir en la pantalla.

sep

Opcional. El separador entre el texto impreso. De forma predeterminada, sep = ’ ‘

end

Opcional. La cadena adjunta después del último texto impreso. De forma predeterminada, end = ‘\n’

precision

Opcional. El número de decimales con los que se imprimirá un número flotante como número entero. Por defecto, precision = 5

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

Una captura de pantalla de la pantalla del controlador de drones VEX AIR, con texto blanco en la esquina superior izquierda que dice ¡Hora de volar!

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

La misma captura de pantalla que la anterior, con el texto 3.14 en la esquina superior izquierda.

set_cursor#

set_cursor mueve el cursor a una fila y columna específicas en la pantalla del controlador. La próxima llamada print comenzará a imprimirse en esa ubicación. El espaciado entre filas y columnas tendrá en cuenta la fuente seleccionada. Con la fuente media monoespaciada predeterminada, la pantalla puede mostrar claramente hasta 18 filas y 53 columnas. El texto colocado más allá de este rango puede cortarse o ser más difícil de leer.

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

Parámetros

Descripción

row

La fila a la que mover el cursor.

column

La columna a la que mover el cursor.

# Display text starting at Row 7 Column 25.
controller.screen.set_cursor(row=7, col=25)
controller.screen.print("Row 7, Column 25")

Una captura de pantalla de la pantalla del controlador de drones VEX AIR, con texto blanco cerca del centro que lee la fila 7, columna 25 en esa posición de la pantalla.

next_row#

next_row mueve el cursor a la columna 1 en la siguiente fila en la pantalla del controlador.

Usage:
controller.screen.next_row()

Parámetros

Descripción

Este método no tiene parámetros.

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

Una captura de pantalla de la pantalla del controlador de drones VEX AIR, con texto blanco en la esquina superior izquierda que dice Línea 1 en la línea superior y Línea 2 directamente debajo de ella.

clear_row#

clear_row borra una fila de texto en la pantalla del controlador.

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

Parámetro

Descripción

row

Opcional. La fila a borrar. El valor predeterminado es la fila del cursor actual.

color

Opcional. El color a aplicar a la fila borrada. Si no se especifica un color, se utiliza el set_fill_color. Las opciones incluyen:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
También puede especificar un color personalizado.

# 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 devuelve la fila actual donde se imprimirá el texto, como un número entero.

Usage:
controller.screen.get_row()

Parámetros

Descripción

Este método no tiene parámetros.

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

Una captura de pantalla de la pantalla del controlador de drones VEX AIR, con texto blanco cerca del centro que dice 7, en la fila 7, columna 25.

get_column#

get_column devuelve la columna actual donde se imprimirá el texto, como un número entero.

Usage:
controller.screen.get_column()

Parámetros

Descripción

Este método no tiene parámetros.

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

Una captura de pantalla de la pantalla del controlador de drones VEX AIR, con texto blanco cerca del centro que dice 25, en la fila 7, columna 25.

Impresión XY#

set_origin#

set_origin establece el origen (0, 0) utilizado para el dibujo y la impresión basada en coordenadas en la pantalla del controlador. De forma predeterminada, el origen es la esquina superior izquierda de la pantalla. Este método puede restablecer el origen a una ubicación de coordenadas de pantalla alternativa (x, y).

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

Parámetro

Descripción

x

La nueva coordenada x para establecer como origen, dada como un número entero de 0 a 640.

y

La nueva coordenada y para establecer como origen, dada como un número entero 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)

Una captura de pantalla de la pantalla del controlador de drones VEX AIR, con un rectángulo blanco dibujado de modo que la esquina superior izquierda sea el centro de la pantalla.

Mutadores#

clear_screen#

clear_screen borra todos los dibujos, texto e imágenes de la pantalla del controlador.

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

Parámetro

Descripción

row

Opcional. La fila a la que mover el cursor después de borrar la pantalla. El valor predeterminado es 1.

col

Opcional. La columna a la que mover el cursor después de borrar la pantalla. El valor predeterminado es 1.

color

Optional. Sets the screen color. If row and col are included, use color as the third argument. Options include:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
You can also specify a custom color.

# 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 cambia el dibujo de pantalla al comportamiento render-later. Una vez que se ejecute este método, los siguientes comandos de pantalla no aparecerán en la pantalla del controlador hasta que se ejecute el siguiente método wait_for_render.

Nota: Usa esto antes de dibujar un grupo de texto, formas o imágenes, luego úsalo de nuevo para representar la actualización completa a la vez.

Usage:
controller.screen.wait_for_render()

Parámetro

Descripción

Este método no tiene 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()

Una captura de pantalla de la pantalla del controlador de drones VEX AIR, con texto blanco que dice ¡Pantalla renderizada! en la esquina superior izquierda y un círculo blanco dibujado en el centro de la pantalla.

set_font#

set_font establece la fuente utilizada para mostrar texto en la pantalla del controlador. Esta fuente se aplicará a todo el texto impreso después de que se ejecute este método. La fuente predeterminada al inicio de un proyecto es MONO20.

Usage:
controller.screen.set_font(fontname)

Parámetro

Descripción

fontname

Establece la fuente en una de las siguientes:

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

Una captura de pantalla de la pantalla del controlador de drones VEX AIR con una variedad de letras y números impresos en blanco en la esquina superior izquierda con fuente Mono 12. Las letras A-Z están en una línea y ocupan aproximadamente un tercio del ancho de la pantalla. En la esquina inferior izquierda, se leen 91 caracteres y 30 filas.
MONO12

La misma imagen que la anterior, ahora con fuente Mono 15. Las letras A-Z están en una línea y ocupan casi la mitad del ancho de la pantalla. En la esquina inferior izquierda, se leen 71 caracteres y 23 filas.
MONO15

La misma imagen que la anterior, ahora con fuente Mono 20. Las letras A-Z están en una línea y ocupan la mitad del ancho de la pantalla. En la esquina inferior izquierda, se leen 53 caracteres y 18 filas.
MONO20

La misma imagen que la anterior, ahora con fuente Mono 24. Las letras A-Z están en una línea y ocupan un poco más de la mitad del ancho de la pantalla. En la esquina inferior izquierda, se leen 45 caracteres y 15 filas.
MONO24

La misma imagen que la anterior, ahora con fuente Mono 30. Las letras A-Z están en una línea y ocupan aproximadamente tres cuartas partes del ancho de la pantalla. En la esquina inferior izquierda, se leen 35 caracteres y 12 filas.
MONO30

La misma imagen que la anterior, ahora con fuente Mono 36. Las letras A-Z están en una línea, abarcando casi el ancho de la pantalla. En la esquina inferior izquierda, se leen 29 caracteres y 10 filas.
MONO36

la misma imagen que la anterior, ahora con fuente Mono 40. Las letras A-Z están en una línea, abarcando el ancho de la pantalla. En la esquina inferior izquierda, se leen 26 caracteres y 9 filas.
MONO40

La misma imagen que la anterior, ahora con fuente Mono 60. Las letras A-Q están en una línea, abarcando el ancho de la pantalla. En la esquina inferior izquierda, se leen 17 caracteres y 6 filas.
MONO60

La misma imagen que la anterior, ahora con la fuente de la Propuesta 20. Las letras A-Z están en una línea y ocupan un poco más de la mitad del ancho de la pantalla. En la esquina inferior izquierda, se leen 49 caracteres y 18 filas.
PROP20

La misma imagen que la anterior, ahora con la fuente de la Propuesta 24. Las letras A-Z están en una línea y ocupan aproximadamente dos tercios del ancho de la pantalla. En la esquina inferior izquierda, se leen 42 caracteres y 15 filas.
PROP24

La misma imagen que la anterior, ahora con la fuente de la Propuesta 30. Las letras A-Z están en una línea y ocupan tres cuartas partes del ancho de la pantalla. En la esquina inferior izquierda, se leen 33 caracteres y 12 filas.
PROP30

La misma imagen que la anterior, ahora con la fuente de la Propuesta 36. Las letras A-Z están en una línea, abarcando casi el ancho de la pantalla. En la esquina inferior izquierda, se leen 27 caracteres y 10 filas.
PROP36

La misma imagen que la anterior, ahora con la fuente de la Propuesta 40. Las letras A-Y están en una línea, abarcando el ancho de la pantalla. En la esquina inferior izquierda, se leen 24 caracteres y 9 filas.
PROP40

La misma imagen que la anterior, ahora con la fuente de la Propuesta 60. Las letras A-Q están en una línea, abarcando el ancho de la pantalla. En la esquina inferior izquierda, se leen 17 caracteres y 6 filas.
PROP60

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

La misma imagen que las anteriores, ahora con la palabra VEX impresa en fuente Mono 40 en la esquina superior izquierda.

set_pen_width#

set_pen_width establece el grosor de las líneas dibujadas y los contornos de forma.

Usage:
controller.screen.set_pen_width(width)

Parámetro

Descripción

width

El ancho del lápiz, dado como un número entero en píxeles.

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

Una captura de pantalla de la pantalla del controlador de drones VEX AIR con un rectángulo blanco con un borde grueso impreso en el centro.

set_pen_color#

set_pen_color establece el color del texto, los píxeles, las líneas y los contornos de forma.

Usage:
controller.screen.set_pen_color(color)

Parámetro

Descripción

color

Opcional. Establece el color de la pluma y la fuente. Las opciones incluyen:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
También puede especificar un color personalizado.

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

Una captura de pantalla de la pantalla del controlador de drones VEX AIR con un delgado rectángulo naranja con las palabras VEXCODE AIR impresas en blanco en el centro.

set_text_fill_color#

set_text_fill_color establece el color de relleno detrás del texto impreso. El color de relleno de texto predeterminado es transparente.

Usage:
controller.screen.set_text_fill_color(color)

Parámetro

Descripción

color

Opcional. Establece el color de relleno del texto. Las opciones incluyen:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
También puede especificar un color personalizado.

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

Una captura de pantalla de la pantalla del controlador de drones VEX AIR con dos líneas de texto impresas en la esquina superior izquierda. El primero lee texto rojo en blanco con un resaltado rojo, el segundo, directamente debajo, lee texto azul en blanco con un resaltado azul.

set_fill_color#

set_fill_color establece el color de relleno utilizado cuando se dibujan formas. El color de relleno predeterminado es negro.

Usage:
controller.screen.set_fill_color(color)

Parámetro

Descripción

color

Opcional. Establece el color de relleno. Las opciones incluyen:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
También puede especificar un color personalizado.

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

Una captura de pantalla de la pantalla del controlador de drones VEX AIR con un rectángulo naranja sólido con un borde blanco delgado con texto blanco que lee VEXCODE AIR impreso en el centro.

Sorteo#

draw_pixel#

draw_pixel dibuja un píxel en las coordenadas x e y seleccionadas utilizando el color de la pluma actual.

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

Parámetro

Descripción

x

La coordenada x donde se dibujará el píxel, dada como un número entero de 0 a 640.

y

La coordenada y donde se dibujará el píxel, dada como un número entero 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)

Una captura de pantalla de la pantalla del controlador de drones VEX AIR con 5 píxeles espaciados uniformemente impresos en una línea diagonal en el centro de la pantalla.

draw_line#

draw_line dibuja una línea desde la primera coordenada de la pantalla (x1, y1) hasta la segunda coordenada de la pantalla (x2, y2) utilizando el ancho del bolígrafo y el color del bolígrafo actuales.

Las coordenadas x e y usan el origen predeterminado de (0, 0) a menos que se haya establecido un origen diferente usando set_origin.

Usage:
controller.screen.draw_line(x1, y1, x2, y2)

Parámetro

Descripción

x1

La coordenada x inicial de la línea, dada como un número entero de 0 a 640.

y1

La coordenada y inicial de la línea, dada como un número entero de 0 a 480.

x2

La coordenada x final de la línea, dada como un número entero de 0 a 640.

y2

La coordenada y final de la línea, dada como un número entero 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)

Una captura de pantalla de la pantalla del controlador de drones VEX AIR con una línea blanca dibujada desde la esquina superior izquierda  hasta la esquina inferior derecha, y una línea de color verde azulado dibujada desde la esquina inferior izquierda hasta la esquina superior derecha, que se cruza en el centro.

draw_rectangle#

draw_rectangle dibuja un rectángulo utilizando el ancho del bolígrafo, color del bolígrafo y color de relleno actuales, a menos que se utilice el parámetro de color opcional.

Las coordenadas x e y usan el origen predeterminado de (0, 0) a menos que se haya establecido un origen diferente usando set_origin.

Usage:
controller.screen.draw_rectangle(x, y, width, height, color)

Parámetro

Descripción

x

La coordenada x de la esquina superior izquierda del rectángulo, dada como un número entero de 0 a 640.

y

La coordenada y de la esquina superior izquierda del rectángulo, dada como un número entero de 0 a 480.

width

El ancho del rectángulo, dado como un número entero de 0 a 640.

height

La altura del rectángulo, dada como un número entero de 0 a 480.

color

Opcional. Establece el color de relleno del rectángulo. Las opciones incluyen:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
También puede especificar un color personalizado.

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

Una captura de pantalla de la pantalla del controlador de drones VEX AIR con un rectángulo verde sólido con un borde blanco delgado impreso en el centro y un rectángulo blanco delgado impreso alrededor de los bordes exteriores de la pantalla.

draw_circle#

draw_circle dibuja un círculo utilizando el ancho del bolígrafo, color del bolígrafo y color de relleno actuales, a menos que se utilice el parámetro de color opcional.

Las coordenadas x e y usan el origen predeterminado de (0, 0) a menos que se haya establecido un origen diferente usando set_origin.

Usage:
controller.screen.draw_circle(x, y, radius, color)

Parámetro

Descripción

x

La coordenada x del centro del círculo, dada como un número entero de 0 a 640.

y

La coordenada y del centro del círculo, dada como un número entero de 0 a 480.

radius

El radio del círculo, dado como un número entero de 0 a 480 píxeles.

color

Opcional. Establece el color de relleno del círculo. Las opciones incluyen:

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
También puede especificar un color personalizado.

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

Una captura de pantalla de la pantalla del controlador de drones VEX AIR con un gran círculo verde sólido con un delgado borde blanco dibujado centrado en la pantalla.

show_file#

show_file dibuja una imagen cargada personalizada en la pantalla del controlador en una posición x e y, con escalado, rotación y transparencia alfa opcionales.

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

Parámetro

Descripción

file

La imagen cargada por el usuario a utilizar. Las opciones cambiarán si se editan los nombres de las imágenes en el Panel de control.

x

El desplazamiento horizontal de la imagen, dado como un número entero en píxeles. Los valores positivos lo mueven a la derecha; los valores negativos lo mueven a la izquierda.

y

El desplazamiento vertical de la imagen, dado como un número entero en píxeles. Los valores positivos lo mueven hacia abajo; los valores negativos lo mueven hacia arriba.

scale_width

Opcional. El ancho de la imagen que se está escalando, dado como un número entero en píxeles.

scale_height

Opcional. La altura de la imagen que se está escalando, dada como un número entero en píxeles.

rotation

Opcional. El número de grados para rotar la imagen, dado como un número entero de 0 a 359.

use_alpha

Opcional. Si se debe utilizar el canal alfa de la imagen para la transparencia. Las opciones incluyen: True o 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 devuelve un booleano que indica si la pantalla del robot se está pulsando actualmente.

  • True : se está presionando la pantalla.

  • False – No se está presionando la pantalla.

Usage:
controller.screen.pressing()

Parámetros

Descripción

Este método no tiene 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 devuelve la coordenada x en píxeles donde se presionó la pantalla por última vez, como un número entero de 0 (izquierda) a 640 (derecha).

Un controlador de drones VEX AIR con el área imprimible de las dimensiones de la pantalla etiquetada y delineada en un cuadro rojo. Las coordenadas comienzan con (0,0) en la esquina superior izquierda y continúan en el sentido de las agujas del reloj con (0, 640), (480, 640) y (480,0) hasta la esquina inferior izquierda. Las coordenadas del centro de la pantalla están etiquetadas (240, 320).

Usage:
controller.screen.x_position()

Parámetros

Descripción

Este método no tiene 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 devuelve la coordenada y en píxeles donde se presionó por última vez la pantalla, como un número entero de 0 (arriba) a 480 (abajo).

Un controlador de drones VEX AIR con el área imprimible de las dimensiones de la pantalla etiquetada y delineada en un cuadro rojo. Las coordenadas comienzan con (0,0) en la esquina superior izquierda y continúan en el sentido de las agujas del reloj con (0, 640), (480, 640) y (480,0) hasta la esquina inferior izquierda. Las coordenadas del centro de la pantalla están etiquetadas (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)

Devoluciones de llamada#

pressed#

pressed registra una función que se llamará cuando se pulse la pantalla del controlador.

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

Parámetros

Descripción

callback

Una función que se define previamente para ejecutarse cuando se presiona la pantalla del controlador.

arg

Opcional. Una tupla que contiene argumentos para pasar a la función de devolución de llamada. Consulte Uso de funciones con parámetros para obtener más información.

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

controller.screen.pressed(play_sound)

released#

released registra una función que se llamará cuando se libere la pantalla del controlador.

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

Parámetros

Descripción

callback

Una función que se define previamente para ejecutarse cuando se libera la pantalla del controlador.

arg

Opcional. Una tupla que contiene argumentos para pasar a la función de devolución de llamada. Consulte Uso de funciones con parámetros para obtener más información.

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

controller.screen.released(play_sound)