屏幕#
介绍#
屏幕模块控制 VEX AIM 编程机器人如何在屏幕上显示文本、数字和图形,以及如何响应屏幕按键。
以下是所有模块的列表:
光标打印 — 使用行列光标系统管理文本显示。
在屏幕上打印 — 在屏幕上当前光标位置显示文本。
将光标设置到屏幕上的行列 — 将光标移动到指定的行和列。
将光标设置到屏幕上的下一行 — 将光标移动到下一行的第 1 列。
清除屏幕上的行 — 清除指定的一行文本。
屏幕光标列 — 报告文本将打印到的列号。
屏幕光标行 — 报告文本将打印的行号。
XY 打印 — 按像素坐标打印文本。
在屏幕上的坐标处打印 — 在指定的 x 和 y 坐标处显示文本。
设置屏幕原点 — 更改绘图和打印使用的原点。
设置 — 自定义文本格式和屏幕显示。
清除屏幕 — 清除屏幕上的所有文字和图画。
填充屏幕 — 清除屏幕上的所有文字和图形,然后设置屏幕的背景颜色。
设置屏幕字体 — 更改文本显示的字体类型和大小。
设置屏幕上的打印精度 — 设置打印数字时显示的小数位数。
设置屏幕上的笔宽 — 设置绘制的线条和形状轮廓的粗细。
设置屏幕上的笔/字体颜色 — 设置文本、像素、线条和形状轮廓的颜色。
设置屏幕填充颜色 — 设置绘制形状的填充颜色。
绘图——创建图形和视觉元素。
在屏幕上显示图像文件 — 在屏幕上显示用户上传的图像。
在屏幕上绘制像素 — 在指定坐标处绘制单个像素。
在屏幕上绘制线条 — 在两点之间绘制一条线。
在屏幕上绘制矩形 — 绘制一个具有指定尺寸的矩形。
在屏幕上绘制圆 — 绘制一个具有给定半径的圆。
触摸 — 检测屏幕交互。
光标打印#
屏幕打印#
在屏幕上打印堆栈块在机器人的屏幕上,于当前光标位置和字体处打印文本、数字或变量值。
在屏幕上打印 [VEXcode]▶
参数 |
描述 |
|---|---|
价值 |
要在屏幕上显示的文本、数字或变量值。 |
并将光标移至下一行 |
选择箭头(▶)展开块,显示并将光标设置到下一行,这样打印后光标将移动到下一行的第 1 列。 |
例子
当开始
[Display a message at the starting cursor position.]
在屏幕上打印 [Hello, Robot!]▶

将光标设置到屏幕上的行列#
“将光标设置到屏幕上的行和列”堆栈块会将光标移动到机器人屏幕上的特定行和列。下一个“在屏幕上打印”堆栈块将从该位置开始打印。屏幕可容纳#print-on-screen行数和列数取决于所选字体。使用默认的等宽中等字体,最多可以清晰显示 8 行和 13 列。超出此范围的文本可能会被截断或难以阅读。
等宽字体的所有字符宽度相同,因此文本位置保持一致。相比之下,比例字体的字符宽度各不相同,因此有些字母占用的空间比其他字母大。但是,无论使用哪种字体,set cursor to row column on screen 堆栈块都会根据行和列的大小(而不是字体样式)来定位光标。可以使用 set font on screen 堆栈块来调整字体大小。
在屏幕上设定光标至 [1] 行 [1] 列
参数 |
描述 |
|---|---|
排 |
要将光标移动到的行。 |
柱子 |
要将光标移动到的列。 |
示例
当开始
[Display text starting at Row 3 Column 2.]
在屏幕上设定光标至 (3) 行 (2) 列
在屏幕上打印 [Row 3, Column 2]▶

当开始
[Display cargo amounts in an organized list.]
设定屏幕字体为 [比例字体 v] [大 v]
在屏幕上打印 [Sports Balls]◀ 并设定光标为下一行
在屏幕上打印 [Orange Barrels]◀ 并设定光标为下一行
在屏幕上打印 [Blue Barrels]▶
在屏幕上设定光标至 [1] 行 [11] 列
在屏幕上打印 [2]▶
在屏幕上设定光标至 [2] 行 [11] 列
在屏幕上打印 [3]▶
在屏幕上设定光标至 [3] 行 [11] 列
在屏幕上打印 [3]▶

当开始
[Display the ID of the detected AprilTag.]
设定屏幕字体为 [比例字体 v] [特大 v]
永久循环
清屏
在屏幕上打印 [AprilTag]▶
从 AI 视觉仪获取 [所有AprilTags v] 数据
如果 <AI 视觉仪对象存在?> 那么
在屏幕上设定光标至 [3] 行 [4] 列
在屏幕上打印 (AI 视觉仪对象 [tagID v])▶
结束
等待 [0.1] 秒

将光标移至屏幕上的下一行#
将光标设置到屏幕上的下一行 堆栈块将光标移动到机器人屏幕上下一行的第 1 列。
在屏幕上设定光标至下一行
参数 |
描述 |
|---|---|
该块没有参数。 |
例子
当开始
[Display two lines of text.]
在屏幕上打印 [Line 1]▶
在屏幕上设定光标至下一行
在屏幕上打印 [Line 2]▶

屏幕上的清除行#
清除屏幕上的行堆栈块会清除机器人屏幕上的一行文本。
清除屏幕第 [1] 行
参数 |
描述 |
|---|---|
排 |
要清除的行号。 |
例子
当开始
[Display text on two rows.]
在屏幕上打印 [This text stays]▶
在屏幕上设定光标至下一行
在屏幕上打印 [This text disappears]▶
等待 [3] 秒
清除屏幕第 [2] 行
屏幕光标列#
屏幕光标列 报告块会以整数形式报告文本将要打印的列号。
(屏幕光标列数)
参数 |
描述 |
|---|---|
该块没有参数。 |
例子
当开始
[Display the cursor's current column.]
在屏幕上设定光标至 [3] 行 [2] 列
在屏幕上打印 (屏幕光标列数)▶

屏幕光标行#
屏幕光标行 报告块会以整数形式报告文本将要打印的行号。
(屏幕光标行数)
参数 |
描述 |
|---|---|
该块没有参数。 |
例子
当开始
[Display the cursor's current row.]
在屏幕上设定光标至 [3] 行 [2] 列
在屏幕上打印 (屏幕光标行数)▶

XY打印#
在屏幕上的坐标处打印#
在屏幕上的坐标处打印堆栈块使用当前设置的字体在机器人屏幕上指定的 x 和 y 坐标处以像素为单位打印文本、数字或变量值。
默认情况下,屏幕原点位于屏幕左上角 (0, 0)。x 轴上,0 位于屏幕左侧,240 位于屏幕右侧。y 轴上,0 位于屏幕顶部,240 位于屏幕底部。您可以使用 [set screen origin](#set-screen-origin) 代码块将原点移动到其他位置。更改原点后,x 轴和 y 轴的坐标范围也会随之改变。
例如,如果原点设置为 (120, 120),则 x 和 y 坐标的范围将从 -120 到 120。

**注意:**红色圆圈标示了AIM机器人圆形屏幕上可见的坐标。红色圆圈之外的坐标虽然在0-240范围内,但不会显示在屏幕上。
在屏幕x:[80] y:[120]上打印 [VEXcode]
参数 |
描述 |
|---|---|
价值 |
要在屏幕上显示的文本、数字或变量值。 |
x |
x 坐标(以像素为单位),范围从 0 到 240,默认原点为 0。 |
y |
y 坐标(以像素为单位),范围从 0 到 240,默认原点为 0。 |
例子
当开始
[Display a message in the middle of the screen.]
在屏幕x:[40] y:[120]上打印 [Hello, Robot!]

设置屏幕原点#
设置屏幕原点 代码块用于更改机器人屏幕上绘图或打印的原点 (0, 0)。默认情况下,原点位于屏幕左上角。此代码块可以将原点重置为其他 (x, y) 屏幕坐标位置。
设置屏幕原点 x: [0] y: [0]
参数 |
描述 |
|---|---|
x |
要设置为新原点的 x 坐标(以像素为单位)。 |
y |
要设置为新原点的 y 坐标(以像素为单位)。 |
例子
当开始
[Set the origin to the center of the screen.]
设置屏幕原点 x: [120] y: [120]
[Draw a rectangle at the new origin.]
在屏幕 [0] [0] [80] [40] 上画矩形

设置#
清除屏幕#
清除屏幕堆栈块会清除机器人屏幕上的所有图形和文本,并将光标位置重置为第 1 行第 1 列。
清屏
参数 |
描述 |
|---|---|
该块没有参数。 |
例子
当开始
[Draw a circle, and clear it after 2 seconds.]
在屏幕 [120] [120] [40] 上画圆形
等待 [2] 秒
清屏
填满屏幕#
填充屏幕堆栈块会清除机器人屏幕上的所有图形和文本,然后将背景更改为指定的颜色。
屏幕填充色为 [红色 v]
参数 |
描述 |
|---|---|
颜色 |
背景颜色:
|
例子
当开始
[Say "Hello" then turn screen yellow.]
在屏幕上打印 [Hello]▶
等待 [2] 秒
屏幕填充色为 [yellow v]
设置屏幕上的字体#
设置屏幕字体 代码块用于设置机器人屏幕上显示文本的字体和字号。此字体将应用于之后打印的所有文本。
设定屏幕字体为 [等宽字体 v] [超小 v]
参数 |
描述 |
|---|---|
类型 |
字体类型:等宽字体或等宽字体 |
尺寸 |
字体大小(如下所示):
|
|
与上一张图片相同,但字体为 Mono 15。字母 AT 占据一行文字。底部文字为 20 个字符宽,12 行。(/_static/img/fonts/mono15.png) |
与上一张图片相同,但字体为 Mono 20。字母 AP 占据一行文字。底部文字为 16 个字符宽,共 9 行。(/_static/img/fonts/mono20.png) |
|---|---|---|
与上一张图片相同,但字体为 Mono 24。字母 AM 占据一行文字。底部文字横向 13 个字符,共 8 行。(/_static/img/fonts/mono24.png) |
|
|
|
|
|
|
|
例子
当开始
[Display text using a larger font]
设定屏幕字体为 [等宽字体 v] [特大 v]
在屏幕上打印 [VEX]▶

设置屏幕打印精度#
设置屏幕打印精度 堆栈块用于设置机器人屏幕上打印数字时显示的小数位数。此打印精度将应用于之后打印的所有数字。
在屏幕上设定打印精度为 [0.1 v]
参数 |
描述 |
|---|---|
精确 |
打印精度:
|
例子
当开始
[Print 1/3 as 0.33.]
在屏幕上设定打印精度为 [0.01 v]
在屏幕上打印 ([1] [math_division v] [3])▶

设置屏幕上的笔宽#
设置屏幕上的笔宽 堆栈块用于设置绘制线条和形状轮廓的粗细。
设定屏幕笔宽为 [10]
参数 |
描述 |
|---|---|
宽度 |
笔的宽度,以像素为单位,范围从 0 到 32。 |
例子
当开始
[Draw a rectangle with a pen width of 10.]
设定屏幕笔宽为 [10]
在屏幕 [50] [50] [130] [60] 上画矩形

设置屏幕上的笔/字体颜色#
设置屏幕上的笔/字体颜色 堆栈块设置文本、像素、线条和形状轮廓的颜色。
设定屏幕笔/字体颜色为 [红色 v]
参数 |
描述 |
|---|---|
颜色 |
要使用的笔和字体颜色:
|
例子
当开始
[Draw a rectangle with a red pen.]
设定屏幕笔/字体颜色为 [红色 v]
在屏幕 [50] [50] [130] [60] 上画矩形

设置屏幕填充颜色#
设置屏幕填充颜色 堆栈块用于设置绘制形状时使用的填充颜色。
设定屏幕填充色为 [红色 v]
参数 |
描述 |
|---|---|
颜色 |
填充颜色:
|
示例
当开始
[Draw two orange rectangles.]
设定屏幕填充色为 [orange v]
在屏幕 [50] [50] [100] [60] 上画矩形
在屏幕 [50] [130] [100] [60] 上画矩形

当开始
[Display text with a purple background.]
设定屏幕填充色为 [purple v]
在屏幕上打印 [Highlight]▶

画#
在屏幕上显示图像文件#
在屏幕上显示图像文件堆栈块会在机器人的屏幕上绘制用户上传的自定义图像。
显示图像文件 [1 v]
参数 |
描述 |
|---|---|
图像槽号 |
要使用的自定义图像,编号 1 到 10。图像编号与 AIM 控制面板中显示的数字一致。 |
例子
当开始
[Draw uploaded Image 1.]
显示图像文件 [1 v]
在屏幕上绘制像素#
在屏幕上绘制像素堆栈块使用当前的画笔颜色在选定的x和y坐标处绘制一个像素。
默认情况下,屏幕原点位于屏幕左上角 (0, 0)。x 轴上,0 位于屏幕左侧,240 位于屏幕右侧。y 轴上,0 位于屏幕顶部,240 位于屏幕底部。您可以使用 [set screen origin](#set-screen-origin) 代码块将原点移动到其他位置。更改原点后,x 轴和 y 轴的坐标范围也会随之改变。
例如,如果原点设置为 (120, 120),则 x 和 y 坐标的范围将从 -120 到 120。
在屏幕 [0] [0] 上画点
参数 |
描述 |
|---|---|
x |
绘制像素的 x 坐标,范围从 0 到 240,默认原点为 0。 |
y |
绘制像素的 y 坐标,范围从 0 到 240,默认原点为 0。 |
例子
当开始
[Draw a pixel at the center of the screen.]
在屏幕 [120] [120] 上画点
![]()
在屏幕上画线#
在屏幕上绘制线条堆栈块使用当前的笔宽和笔颜色从第一个屏幕坐标(x1, y1)到第二个屏幕坐标(x2, y2)绘制一条线。
默认情况下,屏幕原点位于屏幕左上角 (0, 0)。x 轴上,0 位于屏幕左侧,240 位于屏幕右侧。y 轴上,0 位于屏幕顶部,240 位于屏幕底部。您可以使用 [set screen origin](#set-screen-origin) 代码块将原点移动到其他位置。更改原点后,x 轴和 y 轴的坐标范围也会随之改变。
例如,如果原点设置为 (120, 120),则 x 和 y 坐标的范围将从 -120 到 120。
在屏幕 [0] [0] [10] [10] 上画线段
参数 |
描述 |
|---|---|
x1 |
行起点的 x 坐标(以像素为单位),范围从 0 到 240,默认原点为 0。 |
y1 |
行起点的 y 坐标(以像素为单位),范围从 0 到 240,默认原点为 0。 |
x2 |
行尾的 x 坐标(以像素为单位),范围从 0 到 240,默认原点为 0。 |
y2 |
行尾的 y 坐标(以像素为单位),范围从 0 到 240,默认原点为 0。 |
例子
当开始
[Draw a line from the top left to bottom right of the screen.]
在屏幕 [0] [0] [240] [240] 上画线段

在屏幕上绘制矩形#
在屏幕上绘制矩形堆栈块使用当前的画笔宽度、画笔颜色和填充颜色绘制矩形。
默认情况下,屏幕原点位于屏幕左上角 (0, 0)。x 轴上,0 位于屏幕左侧,240 位于屏幕右侧。y 轴上,0 位于屏幕顶部,240 位于屏幕底部。您可以使用 [set screen origin](#set-screen-origin) 代码块将原点移动到其他位置。更改原点后,x 轴和 y 轴的坐标范围也会随之改变。
例如,如果原点设置为 (120, 120),则 x 和 y 坐标的范围将从 -120 到 120。
在屏幕 [0] [0] [10] [10] 上画矩形
参数 |
描述 |
|---|---|
x |
矩形左上角的 x 坐标(以像素为单位),取值范围为 0 到 240,默认原点为 0。 |
y |
矩形左上角的 y 坐标(以像素为单位),取值范围为 0 到 240,默认原点为 0。 |
宽度 |
矩形的宽度(以像素为单位)。 |
高度 |
矩形的高度(以像素为单位)。 |
例子
当开始
[Draw a rectangle on the screen.]
在屏幕 [50] [50] [130] [60] 上画矩形

在屏幕上画一个圆#
在屏幕上绘制圆形堆栈块使用当前的画笔宽度、画笔颜色和填充颜色绘制圆形。
默认情况下,屏幕原点位于屏幕左上角 (0, 0)。x 轴上,0 位于屏幕左侧,240 位于屏幕右侧。y 轴上,0 位于屏幕顶部,240 位于屏幕底部。您可以使用 [set screen origin](#set-screen-origin) 代码块将原点移动到其他位置。更改原点后,x 轴和 y 轴的坐标范围也会随之改变。
例如,如果原点设置为 (120, 120),则 x 和 y 坐标的范围将从 -120 到 120。
在屏幕 [0] [0] [10] 上画圆形
参数 |
描述 |
|---|---|
x |
圆心的 x 坐标(以像素为单位),取值范围为 0 到 240,默认原点为圆心。 |
y |
圆心的 y 坐标(以像素为单位),取值范围为 0 到 240,默认原点为圆心。 |
半径 |
圆的半径(以像素为单位)。 |
例子
当开始
[Draw a circle on the screen.]
在屏幕 [120] [120] [40] 上画圆形

触碰#
屏幕按下#
屏幕按下布尔块报告机器人的屏幕当前是否被按下。
正确 — 屏幕正在被按下。
错误 — 屏幕未被按下。
<屏幕按下了?>
参数 |
描述 |
|---|---|
该块没有参数。 |
例子
当开始
[Turn LEDs white only when the screen is pressed.]
永久循环
如果 <屏幕按下了?> 那么
设定 [lightall v] LED 颜色为 [white v]
否则
设定 [lightall v] LED 颜色为 [灭 v]
结束
结束
屏幕位置#
屏幕位置报告模块会报告上次屏幕按键的选定坐标。x 坐标范围为 0(左)到 240(右)。y 坐标范围为 0(上)到 240(下)。
(屏幕 [X v] 坐标)
参数 |
描述 |
|---|---|
协调 |
最后一次屏幕按键的坐标用于报告:x 表示水平位置,y 表示垂直位置。 |
例子
当开始
[Display the x and y coordinate of where the screen is pressed.]
永久循环
如果 <屏幕按下了?> 那么
清屏
在屏幕上打印 (屏幕 [X v] 坐标)▶
在屏幕上设定光标至下一行
在屏幕上打印 (屏幕 [y v] 坐标)▶
结束
结束
当屏幕事件#
当机器人的屏幕被按下或释放时,when screen event 模块会运行附加的模块堆栈。
当屏幕 [pressed v]
参数 |
描述 |
|---|---|
行动 |
何时运行附加的积木栈:pressed 在屏幕被按下时运行,released 在屏幕被释放时运行。 |
例子
当屏幕 [pressed v]
[Set the LEDs to green when the screen is pressed.]
设定 [lightall v] LED 颜色为 [绿色 v]







