Écran#

Introduction#

Les méthodes d’écran contrôlent la manière dont le robot de codage VEX AIM affiche le texte, les nombres et les graphiques sur son écran, et la manière dont il réagit aux pressions sur l’écran.

Vous trouverez ci-dessous la liste de toutes les méthodes :

Tactile – Détecte et répond aux pressions sur l’écran.

  • pressing – Renvoie si l’écran est actuellement pressé.

  • x_position – Renvoie la coordonnée x du dernier appui sur l’écran.

  • y_position – Renvoie la coordonnée y du dernier appui sur l’écran.

Impression au curseur – Afficher le texte en utilisant un système de lignes et de colonnes.

  • print – Affiche du texte, des nombres ou des valeurs de variables à la position actuelle du curseur.

  • set_cursor – Déplace le curseur vers une ligne et une colonne spécifiques.

  • next_row – Déplace le curseur vers la colonne 1 de la ligne suivante.

  • clear_row – Efface une ligne de texte.

  • get_row – Renvoie la ligne du curseur actuel.

  • get_column – Renvoie la colonne du curseur actuel.

Impression XY – Afficher le texte à une coordonnée d’écran spécifique.

  • print_at – Affiche du texte, des nombres ou des valeurs de variables à une coordonnée x et y spécifique.

  • set_origin – Définit l’origine utilisée pour l’impression et le dessin basés sur les coordonnées.

Mutateurs – Effacer l’écran ou mettre à jour les paramètres visuels.

  • clear_screen – Efface l’écran de tous les dessins et textes.

  • set_font – Définit la police du texte imprimé.

  • set_pen_width – Définit l’épaisseur des lignes dessinées et des contours de formes.

  • set_pen_color – Définit la couleur du texte, des pixels, des lignes et des contours des formes.

  • set_fill_color – Définit la couleur de remplissage des formes dessinées et des arrière-plans de texte imprimés.

Dessiner – Ajouter des graphismes et des images à l’écran.

Rappels – Exécuter des fonctions lorsque l’écran est enfoncé ou relâché.

  • pressed – Enregistre une fonction à appeler lorsque l’écran est pressé.

  • released – Enregistre une fonction à appeler lorsque l’écran est libéré.

Touche#

pressing#

Appuyer sur pressing renvoie une valeur booléenne indiquant si l’écran du robot est actuellement enfoncé.

  • True – L’écran est enfoncé.

  • False – L’écran n’est pas pressé.

Usage:
robot.screen.pressing()

Paramètres

Description

Cette méthode ne comporte aucun paramètre.

# 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 renvoie la coordonnée x du dernier appui sur l’écran sous forme d’un entier de 0 (gauche) à 240 (droite).

Usage:
robot.screen.x_position()

Paramètres

Description

Cette méthode ne comporte aucun paramètre.

# 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 renvoie la coordonnée y du dernier appui sur l’écran sous forme d’un entier de 0 (haut) à 240 (bas).

Usage:
robot.screen.y_position()

Paramètres

Description

Cette méthode ne comporte aucun paramètre.

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

Impression du curseur#

print#

print imprime du texte, des nombres ou des valeurs de variables sur l’écran du robot à la position du curseur et à la police actuelles.

Usage:
robot.screen.print(text)

Paramètres

Description

text

Le texte, le nombre ou la valeur de la variable à afficher à l’écran.

# Display a message at the starting cursor position
robot.screen.print("Hello, Robot!")

Capture d'écran de l'écran du robot, avec « Bonjour, Robot ! » imprimé en blanc en haut.

set_cursor#

set_cursor moves the text cursor to a specific row and column on the robot’s screen. The next print call will start printing at that location. The number of rows and columns that fit depends on the selected font. With the default monospaced medium font, the screen can clearly display up to 8 rows and 13 columns. Text placed beyond this range may be cut off or harder to read.

Monospaced fonts have characters that are all the same width, making text placement consistent. In contrast, proportional fonts vary in character width, so some letters take up more space than others. However, regardless of which type is used, set_cursor positions the cursor based on row and column size, not font style. The font size can be adjusted using set_font.

Usage:
robot.screen.set_cursor(row, column)

Paramètres

Description

row

La ligne sur laquelle déplacer le curseur.

column

La colonne vers laquelle déplacer le curseur.

# Display text starting at Row 3 Column 2
robot.screen.set_cursor(3, 2)
robot.screen.print("Row 3, Column 2")

Capture d'écran de l'écran du robot, avec « Ligne 3, Colonne 2 » imprimé en blanc juste au-dessus du centre de l'écran, commençant à la ligne 3, colonne 2.

next_row#

La commande next_row déplace le curseur à la colonne 1 de la ligne suivante sur l’écran du robot.

Usage:
robot.screen.next_row()

Paramètres

Description

Cette méthode ne comporte aucun paramètre.

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

Capture d'écran de l'écran du robot avec du texte blanc. L'écran affiche « Ligne 1 » en haut, aligné à gauche, et « Ligne 2 » juste en dessous.

clear_row#

clear_row efface une seule ligne de texte sur l’écran du robot.

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

Paramètre

Description

row

Facultatif. La ligne à effacer (un entier). Par défaut, il s’agit de la ligne actuelle du curseur.

color

Optional. The color to apply to the cleared row. Options include:

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

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

Capture d'écran de l'écran du robot avec une barre verte traversant le centre de l'écran de gauche à droite.

get_row#

get_row renvoie la ligne actuelle où le texte sera imprimé sous forme d’entier.

Usage:
robot.screen.get_row()

Paramètres

Description

Cette méthode ne comporte aucun paramètre.

# Set cursor to (3,2) and print row number
robot.screen.set_cursor(3, 2)
robot.screen.print(robot.screen.get_row())

Capture d'écran SA de l'écran du robot, avec un 3 blanc imprimé près du centre du quadrant supérieur gauche, à la ligne 3, colonne 2.

get_column#

get_column renvoie la colonne actuelle dans laquelle le texte sera imprimé sous forme d’entier.

Usage:
robot.screen.get_column()

Paramètres

Description

Cette méthode ne comporte aucun paramètre.

# Set cursor to (3,2) and print column number
robot.screen.set_cursor(3, 2)
robot.screen.print(robot.screen.get_column())

Capture d'écran de l'écran du robot, avec un 2 blanc imprimé près du centre du quadrant supérieur gauche, à la ligne 3, colonne 2.

Impression XY#

set_origin#

set_origin définit l’origine utilisée pour le dessin et l’impression basée sur les coordonnées sur l’écran du robot. Par défaut, l’origine est le coin supérieur gauche de l’écran.

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

Paramètre

Description

x

La nouvelle coordonnée x à définir comme origine, donnée sous forme d’entier compris entre 0 et 240.

y

La nouvelle coordonnée y à définir comme origine, donnée sous forme d’entier compris entre 0 et 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)

Capture d'écran de l'écran du robot avec un rectangle blanc dessiné dans le quadrant inférieur gauche. Le coin supérieur gauche du rectangle correspond au centre de l'écran.

Mutateurs#

clear_screen#

La commande clear_screen efface tous les dessins et textes de l’écran du robot. Par défaut, elle réinitialise également la position du curseur à la ligne 1, colonne 1.

Usage:
robot.screen.clear_screen(color)

Paramètre

Description

color

Optionnel. Définit la couleur de l’écran. Les options incluent :

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
Vous pouvez également spécifier une couleur personnalisée.

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

Capture d'écran de l'écran du robot, montrant l'écran entier en rouge vif.

set_font#

set_font définit la police utilisée pour l’affichage du texte sur l’écran du robot. Cette police s’appliquera à tout le texte imprimé avec print ou print_at. La police par défaut au début d’un projet est MONO24.

Usage:
robot.screen.set_font(fontname)

Paramètre

Description

fontname

Définit la police sur l’une des suivantes :

  • MONO12
  • MONO15
  • MONO20
  • MONO24
  • MONO30
  • MONO40
  • MONO60
  • PROP20
  • PROP30
  • PROP40
  • PROP60
options sont présentées ci-dessous.

Capture d'écran de l'écran du robot montrant un échantillon de chiffres et de lettres imprimés en police Mono 12. L'alphabet occupe une seule ligne de texte. En bas, on peut lire 26 caractères de large et 15 lignes.
MONO12

La même image que la précédente, avec la police Mono 15. Les lettres AT occupent une ligne de texte. Le texte du bas comporte 20 caractères de large et 12 lignes.
MONO15

La même image que la précédente, avec la police Mono 20. Les lettres AP occupent une ligne de texte. Le texte du bas comporte 16 caractères de large et 9 lignes.
MONO20

La même image que la précédente, avec la police Mono 24. Les lettres AM occupent une seule ligne de texte. Le texte du bas comporte 13 caractères de large et 8 lignes.
MONO24

Même image que la précédente, avec la police Mono 30. Les lettres AK occupent une seule ligne de texte. Le texte du bas comporte 11 caractères de large et 6 lignes.
MONO30

Même image que la précédente, avec la police Mono 40. Les lettres AH occupent une ligne de texte. Le texte du bas comporte 8 caractères de large et 5 lignes.
MONO40

Même image que la précédente, avec les chiffres imprimés en police Mono 60. Les chiffres 1 à 6 occupent une seule ligne de texte. En bas, on peut lire 3 lignes.
MONO60

Même image que la précédente, avec la police Prop 20. Les lettres A occupent une seule ligne de texte. En bas, on peut lire « 20 caractères de large sur 9 lignes ».
PROP20

Même image que la précédente, avec la police Prop 30. Les lettres AM occupent une seule ligne de texte. Le texte du bas comporte 15 caractères de large et 6 lignes.
PROP30

Même image que la précédente, avec la police Prop 40. Les lettres AJ occupent une seule ligne de texte. Le texte du bas comporte 11 caractères de large et 5 lignes.
PROP40

Même image que la précédente, avec les chiffres imprimés en police Prop 60. Les chiffres 1 à 7 occupent une seule ligne de texte. En bas, on peut lire 7 par 3.
PROP60

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

Une capture d'écran de l'écran du robot affiche VEX en police Mono 40 dans le coin supérieur gauche.

set_pen_width#

set_pen_width définit l’épaisseur des lignes dessinées et des contours des formes.

Usage:
robot.screen.set_pen_width(width)

Paramètre

Description

width

La largeur du stylo, en pixels, de 0 à 32.

# Draw a rectangle with a pen width of 10
robot.screen.set_pen_width(10)
robot.screen.draw_rectangle(50, 50, 130, 60)

Capture d'écran de l'écran du robot avec un épais rectangle blanc dessiné sur la moitié supérieure.

set_pen_color#

set_pen_color définit la couleur du texte, des pixels, des lignes et des contours des formes.

Usage:
robot.screen.set_pen_color(color)

Paramètre

Description

color

Facultatif. Couleur du stylo et de la police à utiliser. Options :

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
Vous pouvez également spécifier une couleur personnalisée.

# Draw a rectangle with a red pen
robot.screen.set_pen_color(RED)
robot.screen.draw_rectangle(50, 50, 130, 60)

Capture d'écran de l'écran du robot avec un rectangle rouge à bordure fine tracé sur la moitié supérieure.

set_fill_color#

set_fill_color définit la couleur de remplissage utilisée lorsque les formes sont dessinées et lorsque le texte imprimé utilise un arrière-plan.

Usage:
robot.screen.set_fill_color(color)

Paramètre

Description

color

Facultatif. Couleur de remplissage à utiliser. Options :

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
Vous pouvez également spécifier une couleur personnalisée.

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

Capture d'écran de l'écran du robot montrant deux rectangles orange parallèles aux contours blancs fins, positionnés au centre gauche de l'écran.

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

Une capture d'écran de l'écran du robot affiche « Highlight » en blanc avec un contour violet, commençant dans le coin supérieur gauche.

Dessiner#

draw_pixel#

draw_pixel draws one pixel at the selected x and y coordinate using the current pen color.

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

Paramètre

Description

x

La coordonnée x où le pixel sera dessiné, donnée sous forme d’entier compris entre 0 et 240.

y

La coordonnée y où le pixel sera dessiné, donnée sous forme d’entier compris entre 0 et 240.

# Draw a pixel at the center of the screen
robot.screen.draw_pixel(120, 120)

Capture d'écran de l'écran du robot avec un seul pixel blanc au centre.

draw_line#

draw_line dessine une ligne de la première coordonnée d’écran (x1, y1) à la deuxième coordonnée d’écran (x2, y2) en utilisant la largeur du stylo et la couleur du stylo actuelles.

Les coordonnées x et y utilisent l’origine par défaut de (0, 0) à moins qu’une origine différente n’ait été définie à l’aide de set_origin.

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

Paramètre

Description

x1

La coordonnée x de départ de la ligne, donnée sous forme d’entier compris entre 0 et 240.

y1

La coordonnée y de départ de la ligne, donnée sous forme d’entier compris entre 0 et 240.

x2

La coordonnée x finale de la ligne, donnée sous forme d’entier compris entre 0 et 240.

y2

La coordonnée y finale de la ligne, donnée sous forme d’entier compris entre 0 et 240.

# Draw a line from the top left to bottom right of the screen
robot.screen.draw_line(0, 0, 240, 240)

Capture d'écran de l'écran du robot avec une fine ligne diagonale blanche tracée du coin supérieur gauche au coin inférieur droit.

draw_rectangle#

draw_rectangle draws a rectangle with its top-left corner at the selected (x, y) coordinate and a size determined by the given width and height, all measured in pixels. The rectangle’s outline is drawn using the current pen width and pen color. The interior is filled with the current fill color, unless the optional color parameter is used.

Les coordonnées x et y utilisent l’origine par défaut de (0, 0) à moins qu’une origine différente n’ait été définie à l’aide de set_origin.

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

Paramètre

Description

x

La coordonnée x du coin supérieur gauche du rectangle, donnée sous forme d’entier compris entre 0 et 240.

y

La coordonnée y du coin supérieur gauche du rectangle, donnée sous forme d’entier compris entre 0 et 240.

width

La largeur du rectangle, donnée sous forme d’un entier compris entre 0 et 240.

height

La hauteur du rectangle, donnée sous forme d’un entier compris entre 0 et 240.

color

Facultatif. Couleur de remplissage du rectangle. Options :

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
Vous pouvez également spécifier une couleur personnalisée.

# Draw a red rectangle on the screen
robot.screen.draw_rectangle(50, 50, 130, 60, RED)

Capture d'écran de l'écran du robot avec un rectangle rouge vif bordé d'une fine bordure blanche centré sur la moitié supérieure de l'écran.

draw_circle#

draw_circle draws a circle with its center at the selected (x, y) coordinate and a size determined by the given radius, all measured in pixels. The circle’s outline is drawn using the current pen width and pen color. The interior is filled with the current fill color, unless the optional color parameter is used.

Les coordonnées x et y utilisent l’origine par défaut de (0, 0) à moins qu’une origine différente n’ait été définie à l’aide de set_origin.

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

Paramètre

Description

x

L’abscisse du centre du cercle, donnée sous forme d’un entier compris entre 0 et 240.

y

La coordonnée y du centre du cercle, donnée sous forme d’un entier compris entre 0 et 240.

radius

Le rayon du cercle, exprimé sous forme d’un entier compris entre 0 et 240 pixels.

color

Facultatif. Couleur de remplissage du cercle. Options :

  • BLACK
  • BLUE
  • CYAN
  • GREEN
  • ORANGE
  • PURPLE
  • RED
  • TRANSPARENT
  • WHITE
  • YELLOW
Vous pouvez également spécifier une couleur personnalisée.

# Draw a green circle on the screen
robot.screen.draw_circle(120, 120, 40, GREEN)

Capture d'écran de l'écran du robot avec un cercle vert vif bordé de blanc au centre.

show_file#

show_file affiche une image téléchargée personnalisée sur l’écran du robot, avec sa position définie à l’aide des paramètres x, y, et center en fonction du point de référence de l’image.

Usage:
robot.screen.show_file(file, x, y, center)

Paramètre

Description

file

L’image personnalisée à utiliser, de IMAGE1 à IMAGE10Le numéro de l’image correspond au numéro affiché dans le panneau de contrôle AIM.

x

Décalage horizontal de l’image, exprimé en pixels sous forme d’entier. Les valeurs positives déplacent l’image vers la droite ; les valeurs négatives la déplacent vers la gauche.

y

Le décalage vertical de l’image, exprimé sous forme d’un entier en pixels. Les valeurs positives la déplacent vers le bas ; les valeurs négatives la déplacent vers le haut.

center

Optional. If center=True, the image is placed using its center at coordinate (120, 120). By default (center=False), the top-left corner of the image is used and positioned relative to the current origin.

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

La commande set_clip_region définit une zone rectangulaire à l’écran où tous les dessins et textes seront confinés. Tout contenu situé en dehors de cette zone ne sera pas affiché.

Usage:
robot.screen.set_clip_region(x, y, width, height)

Paramètre

Description

x

La coordonnée x du coin supérieur gauche de la région de découpage, donnée sous forme décimale (float) de 0 à 240.

y

La coordonnée y du coin supérieur gauche de la région de découpage, donnée sous forme décimale (float) de 0 à 240.

width

La largeur de la zone de découpage en pixels, donnée sous forme décimale (float) de 0 à 240.

height

La hauteur de la région de découpage en pixels, donnée sous forme décimale (float) de 0 à 240.

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

Capture d'écran de l'écran du robot montrant le texte et l'image qui tiennent dans la zone de découpage. Dans le quadrant supérieur gauche, le texte blanc indique « Couper o », avec un carré rouge juste en dessous.

Rappels#

pressed#

La touche pressed enregistre une méthode qui sera appelée lorsque l’écran du robot sera enfoncé.

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

Paramètres

Description

callback

Une fonction qui est préalablement définie pour s’exécuter lorsque l’écran de la manette est pressé.

arg

Facultatif. Un tuple contenant les arguments à transmettre à la fonction de rappel. Voir Utilisation des fonctions avec paramètres pour plus d’informations.

# 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 enregistre une méthode à appeler lorsque l’écran du robot est relâché.

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

Paramètres

Description

callback

Une fonction qui est préalablement définie pour s’exécuter lorsque l’écran de la manette est pressé.

arg

Facultatif. Un tuple contenant les arguments à transmettre à la fonction de rappel. Voir Utilisation des fonctions avec paramètres pour plus d’informations.

# Set the LEDs to blue when the screen is released.
def screen_released():
    robot.led.on(ALL_LEDS, BLUE)

robot.screen.released(screen_released)