屏幕#
介绍#
The VEX AIM Coding Robot’s screen provides methods for displaying text, managing the cursor, drawing shapes, and handling touch interactions.
Below is a list of all available methods:
光标打印——使用行/列系统显示文本。
print – 在当前光标位置打印文本。
set_cursor – 将光标设置到特定的行和列。
next_row – 将光标移动到下一行的第 1 列。
clear_row – 清除一行文本。
get_row – 返回当前光标行。
get_column – 返回当前光标列。
XY 打印 – 在特定的屏幕坐标处显示文本。
print_at – 在特定的 x 和 y 位置打印文本。
set_origin – 设置打印和绘图的新原点。
改变器——清除屏幕或更新视觉设置。
clear_screen – 清除屏幕上的所有图形和文本。
set_font – 设置打印文本的字体。
set_pen_width - 设置绘制形状和线条的粗细。
set_pen_color - 设置轮廓和文本的颜色。
set_fill_color - 设置形状和背景的填充颜色。
绘图——在屏幕上添加图形和图像。
draw_pixel – 在特定的 x 和 y 位置绘制像素。
draw_line – 在两点之间画一条线。
draw_rectangle – 绘制一个矩形。
draw_circle – 绘制一个圆圈。
show_file – 显示已上传的图像。
set_clip_region - 限制绘图和文本出现的位置。
触摸——检测并响应屏幕按压。
x_position – 返回按下屏幕的 x 坐标。
y_position – 返回按下屏幕的 y 坐标。
pressing – 返回屏幕当前是否被按下。
回调——当按下或释放屏幕时运行函数。
光标打印#
print#
print
在机器人屏幕上的当前 光标位置 和 字体 显示文本。
用法: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, set_cursor
positions the cursor based on row and column size, not font style. The font size can be adjusted using 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)
范围 |
描述 |
---|---|
|
可选。要清除的行。默认值为当前光标所在行。 |
|
可选。应用于已清除行的颜色。选项包括:
|
# 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#
get_row
returns the current row where text will be printed as an integer.
用法: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
块在机器人屏幕上指定的 x 和 y 坐标(以像素为单位)处使用当前设置的 font 显示文本。此方法忽略当前光标位置。
用法:
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
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.
用法:
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
清除机器人屏幕上的所有图形和文本。默认情况下,它还会将光标位置重置为第 1 行第 1 列。
Usage:
robot.screen.clear_screen(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
设置机器人屏幕上显示文本的字体。此字体将应用于所有使用 print 或 print_at 打印的文本。项目开始时的默认字体为 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
设置用于绘制线条、形状和文本的画笔颜色。
用法:
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
方法设置绘制形状时使用的填充颜色。
用法: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
使用当前画笔颜色在指定的 (x, y) 屏幕坐标处绘制一个像素。它使用由 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
.
x 和 y 坐标使用默认原点 (0, 0),除非使用 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
绘制一个矩形,其左上角位于指定的 (x, y)
坐标,其大小由给定的宽度和高度决定,所有值均以像素为单位。矩形的轮廓使用由 set_pen_width
设置的当前画笔宽度和由 set_pen_color
设置的画笔颜色绘制。矩形内部填充由 set_fill_color
设置的颜色。
x 和 y 坐标使用默认原点 (0, 0),除非使用 set_origin
设置了不同的原点。
用法:robot.screen.draw_rectangle(x, y, width, height, color)
范围 |
描述 |
---|---|
|
矩形左上角的 x 坐标,以 0 至 240 之间的整数表示。 |
|
矩形左上角的 y 坐标,以 0 至 240 之间的整数表示。 |
|
矩形的宽度,以 0 到 240 之间的整数表示。 |
|
矩形的高度,以 0 到 240 之间的整数表示。 |
|
Optional. The fill color of the rectangle. Options include:
|
# Draw a red rectangle on the screen
robot.screen.draw_rectangle(50, 50, 130, 60, RED)
draw_circle#
draw_circle
绘制一个圆,其圆心位于指定的 (x, y)
坐标,大小由给定的半径决定,所有尺寸均以像素为单位。圆的轮廓使用由 set_pen_width
设置的当前画笔宽度和由 set_pen_color
设置的画笔颜色绘制。圆的内部填充由 set_fill_color
设置的颜色。
x 和 y 坐标使用默认原点 (0, 0),除非使用 set_origin
设置了不同的原点。
用法:robot.screen.draw_circle(x, y, radius, color)
范围 |
描述 |
---|---|
|
圆心的 x 坐标,以 0 至 240 之间的整数表示。 |
|
圆心的 y 坐标,以 0 至 240 之间的整数表示。 |
|
圆的半径,以 0 到 240 像素之间的整数表示。 |
|
可选。圆的填充颜色。选项包括:
|
# 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)
范围 |
描述 |
---|---|
|
要使用的自定义图像,从 |
|
图像的水平偏移量,以像素为单位的整数形式指定。正值表示向右移动;负值表示向左移动。 |
|
图像的垂直偏移量,以像素为单位的整数形式指定。正值表示向下移动;负值表示向上移动。 |
|
可选。如果 |
# 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
– The screen is being pressed.False
– The screen is not being pressed.
用法:
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)
参数 |
描述 |
---|---|
|
当屏幕被释放时将被调用的方法。 |
|
可选。一个 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)