屏幕#

介绍#

VEX AIM 编码机器人的屏幕提供了显示文本、管理光标、绘制形状和处理触摸交互的方法。

以下是所有可用方法的列表:

光标打印——使用行/列系统显示文本。

  • print – Prints text at the current cursor position.

  • set_cursor – Sets the cursor to a specific row and column.

  • next_row – Moves the cursor to column 1 of the next row.

  • clear_row – Clears a row of text.

  • get_row – Returns the current cursor row.

  • get_column – Returns the current cursor column.

XY 打印 – 在特定的屏幕坐标处显示文本。

  • print_at – Prints text at a specific x and y location.

  • set_origin – Sets a new origin for printing and drawing.

改变器——清除屏幕或更新视觉设置。

绘图——在屏幕上添加图形和图像。

触摸——检测并响应屏幕按压。

  • x_position – Returns the x-coordinate where the screen is pressed.

  • y_position – Returns the y-coordinate where the screen is pressed.

  • pressing – Returns whether the screen is currently being pressed.

回调——当按下或释放屏幕时运行函数。

  • pressed – Registers a function to call when the screen is pressed.

  • released – Registers a function to call when the screen is released.

光标打印#

print#

print displays text on the robot’s screen at the current cursor position and font.

Usage:
robot.screen.print(text)

参数

描述

text

要在屏幕上显示的文本、数字或变量值。

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

显示 robot.screen.print 方法,并显示单词“Hello Robot!”

set_cursor#

set_cursor places the text cursor at a specific row and column on the screen. 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)

参数

描述

row

游标所在行。

column

光标所在的列。

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

显示 robot.screen.print_at 方法,将第 3 行、第 2 列打印在第 3 行第 2 列

next_row#

next_row moves the cursor to column 1 on the next row on the robot’s screen.

Usage:
robot.screen.next_row()

参数

描述

该方法没有参数。

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

显示 robot.screen.next_row 方法,其中第 1 行和第 2 行分别打印在机器人屏幕上的第 1 行和第 2 行。

clear_row#

clear_row clears a row of text on the robot’s screen.

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

范围

描述

row

可选。要清除的行。默认值为当前光标所在行。

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)

在屏幕第 5 行显示 robot.screen.clear_row 方法,并带有绿色条纹。

get_row#

get_row returns the current row where text will be printed as an integer.

Usage:
robot.screen.get_row()

参数

描述

该方法没有参数。

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

当您将 curosr 设置为 3,2 时,通过显示行号 3 来显示 robot.screen.print_at 方法

get_column#

get_column returns the current column where text will be printed as an integer.

Usage:
robot.screen.get_column()

参数

描述

该方法没有参数。

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

当您将 curosr 设置为 3,2 时,通过显示列号 2 来显示 robot.screen.print_at 方法

XY打印#

set_origin#

set_origin sets the origin (0, 0) used for drawing or printing on the robot’s screen. By default, drawing or printing methods consider the top left corner of the screen as the origin. This method can reset the origin to an alternate (x, y) screen coordinate location.

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

范围

描述

x

设置为原点的新 x 坐标,以 0 至 240 之间的整数形式给出。

y

设置作为原点的新 y 坐标,以 0 至 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)

机器人的屏幕显示一个白色矩形,左上角位于中心。

修改器#

clear_screen#

clear_screen clears all drawings and text from the robot’s screen. By default, it also resets the cursor position to row 1, column 1.

Usage:
robot.screen.clear_screen(color)

范围

描述

color

Optional. Sets the screen color. 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
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 sets the font used for displaying text on the robot’s screen. This font will apply to all text printed with print or print_a. The default font at the start of a project is MONO24.

Usage:
robot.screen.set_font(fontname)

范围

描述

fontname

Sets the font to one of the following:

  • MONO12
  • MONO15
  • MONO20
  • MONO24
  • MONO30
  • MONO40
  • MONO60
  • PROP20
  • PROP30
  • PROP40
  • PROP60
These options are shown below.

机器人用MONO 12字体在屏幕上打印数字和字母。显示AZ。屏幕底部有26个横排和15行。
MONO12

机器人用 MONO 15 字体在屏幕上打印数字和字母。显示“AT”。屏幕底部有 20 个横排和 12 行。
MONO15

机器人屏幕上打印了 MONO 20 字体的数字和字母。上面显示“AP”。屏幕底部有 16 个横排 9 行的字样。
MONO20

机器人屏幕上打印了MONO 24字体的数字和字母。显示“AM”。屏幕底部显示的数字是横13行,横8行。
MONO24

机器人屏幕上打印了 MONO 30 字体的数字和字母。上面显示的是 AK。屏幕底部是横排 11 个字母,共 6 行。
MONO30

机器人用MONO 40字体在屏幕上打印数字和字母。上面显示“AK”。屏幕底部有8个横排5行的字母。
MONO40

机器人屏幕上打印了MONO 60字体的数字和字母,显示1-6。屏幕底部有3行。
MONO60

机器人用PROP 20字体在屏幕上打印了数字和字母。它显示了AS。屏幕底部有8个横排9行的字体。
PROP20

机器人用PROP 30字体在屏幕上打印了数字和字母。上面显示着“AM”。屏幕底部有15个横排6行的字样。
PROP30

机器人用PROP 40字体在屏幕上打印了数字和字母。上面显示着“AM”。屏幕底部有15个横排6行的字样。
PROP40

机器人屏幕上打印了PROP 60字体的数字和字母,显示1-7。屏幕底部有7个字,横排3行。
PROP60

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

机器人屏幕左上角显示Mono 40字体的“VEX”字样。

set_pen_width#

set_pen_width sets the pen width used for drawing lines and shapes.

Usage:
robot.screen.set_pen_width(width)

范围

描述

width

笔的宽度,以像素为单位的整数,范围是 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)

机器人的屏幕显示一个红色矩形,顶部居中画有一条细边框。

set_pen_color#

set_pen_color sets the pen color used for drawing lines, shapes, and text.

Usage:
robot.screen.set_pen_color(color)

范围

描述

color

Optional. Sets the pen color. Options include:

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

# 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 method sets the fill color used when shapes are drawn.

Usage:
robot.screen.set_fill_color(color)

范围

描述

color

Optional. Sets the fill color. Options include:

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

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

机器人的屏幕上显示白色文字“突出显示”,并从左上角开始打印,周围带有紫色突出显示。

#

draw_pixel#

draw_pixel draws a pixel at the specified (x, y) screen coordinate in the current pen color. It uses the current pen color set by set_pen_color.

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

范围

描述

x

将绘制像素的 x 坐标,以 0 至 240 之间的整数表示。

y

将绘制像素的 y 坐标,以 0 至 240 之间的整数表示。

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

机器人的屏幕中央显示一个白色像素。

draw_line#

draw_line draws a line from the first specified screen coordinate (x1, y1) to the second specified screen coordinate (x2, y2). It uses the current the pen width set by set_pen_width and pen color set by set_pen_color.

The x and y-coordinates use the default origin of (0, 0) unless a different origin has been set using set_origin.

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

范围

描述

x1

线的起始 x 坐标,以 0 至 240 之间的整数表示。

y1

线的起始 y 坐标,以 0 至 240 之间的整数表示。

x2

线的结束 x 坐标,以 0 至 240 之间的整数表示。

y2

线的结束 y 坐标,以 0 至 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 draws a rectangle with its top-left corner at the specified (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 set by set_pen_width and the pen color set by set_pen_color. The interior is filled with the color set by set_fill_color.

The x and y-coordinates use the default origin of (0, 0) unless a different origin has been set using set_origin.

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

范围

描述

x

矩形左上角的 x 坐标,以 0 至 240 之间的整数表示。

y

矩形左上角的 y 坐标,以 0 至 240 之间的整数表示。

width

矩形的宽度,以 0 到 240 之间的整数表示。

height

矩形的高度,以 0 到 240 之间的整数表示。

color

Optional. The fill color of the rectangle. Options include:

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

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

AIM机器人画矩形

draw_circle#

draw_circle draws a circle with its center at the specified (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 set by set_pen_width and the pen color set by set_pen_color. The interior is filled with the color set by set_fill_color.

The x and y-coordinates use the default origin of (0, 0) unless a different origin has been set using set_origin.

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

范围

描述

x

圆心的 x 坐标,以 0 至 240 之间的整数表示。

y

圆心的 y 坐标,以 0 至 240 之间的整数表示。

radius

圆的半径,以 0 到 240 像素之间的整数表示。

color

Optional. The fill color of the circle. Options include:

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

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

AIM机器人画圆

show_file#

show_file displays a custom uploaded image on the robot’s screen, with its position set using the x, y, and center parameters based on the image’s reference point.

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

范围

描述

file

The custom image to use, from IMAGE1 to IMAGE10. The image number matches the number shown in the AIM control panel.

x

图像的水平偏移量,以像素为单位的整数形式指定。正值表示向右移动;负值表示向左移动。

y

图像的垂直偏移量,以像素为单位的整数形式指定。正值表示向下移动;负值表示向上移动。

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#

set_clip_region defines a rectangular area on the screen where all drawings and text will be confined. Any content outside this region will not be displayed.

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

范围

描述

x

剪辑区域左上角的 x 坐标,以 0 到 240 之间的整数或浮点数给出。

y

剪辑区域左上角的 y 坐标,以 0 到 240 之间的整数或浮点数表示。

width

剪辑区域的宽度(以像素为单位),以 0 到 240 之间的整数或浮点数表示。

height

剪辑区域的高度(以像素为单位),以 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)

机器人的屏幕左上角显示一个红色方块,上面写着“Cut o”,停在屏幕中央。

触碰#

pressing#

pressing returns a Boolean indicating whether the screen is currently being pressed.

  • True – The screen is being pressed.

  • False – The screen is not being pressed.

Usage:
robot.screen.pressing()

参数

描述

该方法没有参数。

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

x_position#

x_position returns the x-coordinate where the screen is pressed as an integer from 0 (left) to 240 (right).

Usage:
robot.screen.x_position()

参数

描述

该方法没有参数。

# 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 returns the y-coordinate where the screen is pressed as an integer from 0 (top) to 240 (bottom).

Usage:
robot.screen.y_position()

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

打回来#

pressed#

pressed registers a method to be called when the robot’s screen is pressed.

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

参数

描述

callback

按下屏幕时将调用的方法。

arg

可选。包含调用回调方法时要传递给该方法的参数的元组。

# 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 registers a method to be called when the screen is no longer being pressed.

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

参数

描述

callback

当屏幕被释放时将被调用的方法。

arg

可选。一个 tuple,包含调用回调方法时要传递给它的参数。

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

robot.screen.released(screen_released)