屏幕#
介绍#
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.
改变器——清除屏幕或更新视觉设置。
clear_screen – Clears the screen of all drawings and text.
set_font – Sets the font for printed text.
set_pen_width – Sets the thickness for drawn shapes and lines.
set_pen_color – Sets the color for outlines and text.
set_fill_color – Sets the fill color for shapes and backgrounds.
绘图——在屏幕上添加图形和图像。
draw_pixel – Draws a pixel at a specific x and y position.
draw_line – Draws a line between two points.
draw_rectangle – Draws a rectangle.
draw_circle – Draws a circle.
show_file – Displays an uploaded image.
set_clip_region – Restricts where drawings and text can appear.
触摸——检测并响应屏幕按压。
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.
回调——当按下或释放屏幕时运行函数。
光标打印#
print#
print
displays text on the robot’s screen at the current cursor position and font.
用法:robot.screen.print(text)
参数 |
描述 |
---|---|
|
要在屏幕上显示的文本、数字或变量值。 |
# Display a message at the starting cursor position
robot.screen.print("Hello, Robot!")
set_cursor#
set_cursor
将文本光标置于屏幕上的特定行和列。可容纳的行数和列数取决于所选字体。使用默认的等宽中等字体,屏幕最多可以清晰显示 8 行 13 列。超出此范围的文本可能会被截断或难以阅读。
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, the set_cursor
positions the cursor based on row and column size, not font style. The font size can be adjusted using the set_font.
用法:robot.screen.set_cursor(row, column)
参数 |
描述 |
---|---|
|
游标所在行。 |
|
光标所在的列。 |
# 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
将光标移动到机器人屏幕下一行的第 1 列。
用法:robot.screen.next_row()
参数 |
描述 |
---|---|
该方法没有参数。 |
# Display two lines of text
robot.screen.print("Line 1")
robot.screen.next_row()
robot.screen.print("Line 2")
clear_row#
clear_row
清除机器人屏幕上的一行文本。
用法:robot.screen.clear_row(row, color)
范围 |
描述 |
---|---|
|
可选。要清除的行。默认值为当前光标所在行。 |
|
Optional. The color to apply to the cleared row. Options include:
|
# 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#
row
返回当前行,其中文本将以整数形式打印。
用法: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())
get_column#
column
返回当前列,其中文本将以整数形式打印。
用法: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())
XY打印#
print_at#
print_at
block displays text on the robot’s screen at a specified x and y-coordinate (in pixels) with the currently set font. This method disregards the current cursor position.
用法:
robot.screen.print_at(text, x, y)
范围 |
描述 |
---|---|
|
要在屏幕上显示的文本、数字或变量值。 |
|
文本的水平位置,以 0 到 240 像素之间的整数表示。0 为左;240 为右。 |
|
文本的垂直位置,以 0 到 240 像素之间的整数表示。0 表示顶部;240 表示底部。 |
# Display a message in the middle of the screen
robot.screen.print_at("Hello, Robot!", x=40, y=120)
set_origin#
set_origin
设置机器人屏幕上用于绘图或打印的原点 (0,0)。默认情况下,绘图或打印方法将屏幕左上角视为原点。此方法可以将原点重置为另一个 (x, y) 屏幕坐标位置。
用法:
robot.screen.set_origin(x, y)
范围 |
描述 |
---|---|
|
设置为原点的新 x 坐标,以 0 至 240 之间的整数形式给出。 |
|
设置作为原点的新 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(row, column, color)
范围 |
描述 |
---|---|
|
Optional. The row number to move the cursor to after clearing. Default 1. |
|
Optional. The column number to move the cursor to after clearing. Default is 1. |
|
Optional. Sets the screen color. Options include:
|
# 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_at. The default font at the start of a project is MONO24
.
用法:
robot.screen.set_font(fontname)
范围 |
描述 |
---|---|
|
将字体设置为下列之一:
|
|
|
|
---|---|---|
|
|
|
|
|
|
|
|
# Display text using a larger font
robot.screen.set_font(MONO40)
robot.screen.print("VEX")
set_pen_width#
set_pen_width
设置用于绘制线条和形状的笔宽。
用法:
robot.screen.set_pen_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
设置用于绘制线条、形状和文本的画笔颜色。
范围 |
描述 |
---|---|
|
Optional. Sets the pen color. Options include:
|
用法:
robot.screen.set_pen_color(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
方法设置绘制形状时使用的填充颜色。
范围 |
描述 |
---|---|
|
Optional. Sets the fill color. Options include:
|
用法:robot.screen.set_fill_color(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
.
用法:
robot.screen.draw_pixel(x, y)
范围 |
描述 |
---|---|
|
将绘制像素的 x 坐标,以 0 至 240 之间的整数表示。 |
|
将绘制像素的 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
.
用法:
robot.screen.draw_line(x1, y1, x2, y2)
范围 |
描述 |
---|---|
|
线的起始 x 坐标,以 0 至 240 之间的整数表示。 |
|
线的起始 y 坐标,以 0 至 240 之间的整数表示。 |
|
线的结束 x 坐标,以 0 至 240 之间的整数表示。 |
|
线的结束 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.
用法:robot.screen.draw_rectangle(x, y, width, height, color)
范围 |
描述 |
---|---|
|
矩形左上角的 x 坐标,以 0 至 240 之间的整数表示。 |
|
矩形左上角的 y 坐标,以 0 至 240 之间的整数表示。 |
|
矩形的宽度,以 0 到 240 之间的整数表示。 |
|
矩形的高度,以 0 到 240 之间的整数表示。 |
|
可选。矩形的填充颜色。选项包括:
|
# Draw a red rectangle on the screen
robot.screen.draw_rectangle(50, 50, 130, 60, RED)
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.
用法:robot.screen.draw_circle(x, y, radius, color)
范围 |
描述 |
---|---|
|
圆心的 x 坐标,以 0 至 240 之间的整数表示。 |
|
圆心的 y 坐标,以 0 至 240 之间的整数表示。 |
|
圆的半径,以 0 到 240 像素之间的整数表示。 |
|
Optional. The fill color of the circle. Options include:
|
# Draw a green circle on the screen
robot.screen.draw_circle(120, 120, 40, GREEN)
show_file#
show_file
在机器人的屏幕上显示自定义上传的图像,其位置使用基于图像参考点的 x
、y
和 center
参数设置。
用法:
robot.screen.show_file(file, x, y, center)
范围 |
描述 |
---|---|
|
要使用的自定义图像,从 |
|
图像的水平偏移量,以像素为单位的整数形式指定。正值表示向右移动;负值表示向左移动。 |
|
图像的垂直偏移量,以像素为单位的整数形式指定。正值表示向下移动;负值表示向上移动。 |
|
Optional. If |
# 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
在屏幕上定义一个矩形区域,所有绘图和文本都将被限制在该区域内。该区域之外的任何内容都不会显示。
用法:
robot.screen.set_clip_region(x, y, width, height)
范围 |
描述 |
---|---|
|
剪辑区域左上角的 x 坐标,以 0 到 240 之间的整数或浮点数给出。 |
|
剪辑区域左上角的 y 坐标,以 0 到 240 之间的整数或浮点数表示。 |
|
剪辑区域的宽度(以像素为单位),以 0 到 240 之间的整数或浮点数表示。 |
|
剪辑区域的高度(以像素为单位),以 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)
触碰#
pressing#
pressing
返回一个布尔值,指示屏幕当前是否被按下。
True
– 屏幕被按下False
– 屏幕未被按下
用法:
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
返回按下屏幕的 x 坐标,以 0(左)到 240(右)之间的整数形式返回。
用法: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
返回按下屏幕的 y 坐标,以 0(顶部)到 240(底部)之间的整数形式返回。
用法: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
注册了一个当机器人的屏幕被按下时调用的方法。
用法:robot.screen.pressed(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
注册一个当屏幕不再被按下时调用的方法。
用法:robot.screen.released(callback, arg)
参数 |
描述 |
---|---|
|
当屏幕被释放时将被调用的方法。 |
|
Optional. A tuple containing arguments to pass to the callback method when it is called. |
# Set the LEDs to blue when the screen is released.
def screen_released():
robot.led.on(ALL_LEDS, BLUE)
robot.screen.released(screen_released)