螢幕#

介紹#

螢幕模組控制 VEX AIM 程式設計機器人如何在螢幕上顯示文字、數字和圖形,以及如何回應螢幕按鍵。

以下是所有模組的列表:

遊標列印 — 使用行列遊標系統管理文字顯示。

XY 列印 — 按像素座標列印文字。

設定 — 自訂文字格式和螢幕顯示。

繪圖-創造圖形和視覺元素。

觸控 — 偵測螢幕互動。

  • 螢幕被按下 — 報告畫面目前是否被按下。

  • 螢幕位置 — 報告上次畫面按下時所選取的 x 或 y 座標。

  • 螢幕事件 — 當螢幕被按下或釋放時執行附加程式碼區塊。

遊標列印#

將遊標設定到螢幕上的行列#

将光标设置为屏幕上的行列指令块将光标移动到机器人屏幕上的特定行和列。下一个在屏幕上打印指令块将在该位置开始打印。可以舒适地容纳多少行和列取决于所选字体。使用默认的等宽中号字体,最多可清晰显示8行13列。超出此范围的文本可能会被切断或难以阅读。

等寬字體的所有字元寬度相同,因此文字位置保持一致。相較之下,比例字體的字元寬度各不相同,因此有些字母佔用的空間比其他字母大。但是,無論使用哪種字體,set cursor to row column on screen 堆疊區塊都會根據行和列的大小(而不是字體樣式)來定位遊標。可以使用 set font on screen 堆疊區塊來調整字體大小。

設定遊標堆疊塊#
將游標設定到螢幕第 [1] 列第 [1] 欄

參數

描述

排

要將遊標移到的行。

柱子

要將遊標移到的列。

範例

啟動時,將遊標移到螢幕上的第 3 行第 2 列,並列印「第 3 行,第 2 列」。#
當開始時
[Display text starting at Row 3 Column 2.]
將游標設定到螢幕第 (3) 列第 (2) 欄
在螢幕上列印 [Row 3, Column 2] ▶

機器人螢幕的截圖,螢幕中心上方以白色字體列印了第 3 行第 2 列,從第 3 行第 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] ▶

機器人螢幕的截圖顯示三行白色文字,分別列出「運動球 2」、「橘色桶 3」和「藍色桶 3」。數字位於每個標籤的右側,清單從螢幕頂部開始。

當開始時
[Display the ID of the detected AprilTag.]
在螢幕上設定字型為 [比例 v] [特大 v]
永遠
清除螢幕
在螢幕上列印 [AprilTag] ▶
從 AI Vision 取得 [所有 AprilTags v] 資料
如果 <AI Vision 物件存在?> 則
將游標設定到螢幕第 [3] 列第 [4] 欄
在螢幕上列印 (AI Vision 物件 [tagID v]) ▶
結束
等待 [0.1] 秒

機器人螢幕的截圖,螢幕中央附近印有白色文字,第一行是 AprilTag,第二行是 4。

將遊標移至螢幕上的下一行#

將遊標設定到螢幕上的下一行 堆疊區塊將遊標移動到機器人螢幕上下一行的第 1 列。

將遊標設定到下一行堆疊區塊#
將游標移至螢幕下一列

參數

描述

此程式碼區塊沒有參數。

例子

啟動時,螢幕上會列印“第 1 行”,將遊標移到下一行,然後列印“第 2 行”。#
當開始時
[Display two lines of text.]
在螢幕上列印 [Line 1] ▶
將游標移至螢幕下一列
在螢幕上列印 [Line 2] ▶

機器人螢幕的截圖,文字為白色。螢幕頂部左對齊顯示“第 1 行”,下方緊鄰“第 2 行”。

螢幕上的清除行#

清除螢幕上的行堆疊區塊會清除機器人螢幕上的一行文字。

清除行堆疊區塊#
清除螢幕第 [1] 列

參數

描述

排

要清除的行號。

例子

啟動後,文字會印在兩行上。第一行會一直顯示,而第二行會在 3 秒後消失。#
當開始時
[Display text on two rows.]
在螢幕上列印 [This text stays] ▶
將游標移至螢幕下一列
在螢幕上列印 [This text disappears] ▶
等待 [3] 秒
清除螢幕第 [2] 列

螢幕遊標列#

螢幕遊標列 報告區塊會以整數形式報告文字將要列印的列號。

螢幕遊標列報告區塊#
(螢幕游標欄)

參數

描述

此程式碼區塊沒有參數。

例子

啟動時,將遊標移到螢幕上的第 3 行第 2 列,並列印目前遊標所在的列號。#
當開始時
[Display the cursor's current column.]
將游標設定到螢幕第 [3] 列第 [2] 欄
在螢幕上列印 (螢幕游標欄) ▶

機器人螢幕的截圖,左上象限中心附近,第 3 行第 2 列,印有一個白色的數字 2。

螢幕遊標行#

螢幕遊標行 報告區塊會以整數形式報告文字將要列印的行號。

螢幕遊標行報告區塊#
(螢幕游標列)

參數

描述

此程式碼區塊沒有參數。

例子

啟動時,將遊標移到螢幕上的第 6 行第 2 列,並列印目前遊標所在的行號。#
當開始時
[Display the cursor's current row.]
將游標設定到螢幕第 [3] 列第 [2] 欄
在螢幕上列印 (螢幕游標列) ▶

機器人螢幕的截圖,左上象限中心附近,第 3 行第 2 列,印有一個白色的數字 3。

XY列印#

設定螢幕原點#

設定螢幕原點 程式碼區塊用於更改機器人螢幕上繪圖或列印的原點 (0, 0)。預設情況下,原點位於螢幕左上角。此程式碼區塊可以將原點重設為其他 (x, y) 螢幕座標位置。

設定螢幕原點堆疊塊#
設定螢幕原點 x: [0] y: [0]

參數

描述

x

若要設定為新原點的 x 座標(以像素為單位)。

是

若要設定為新原點的 y 座標(以像素為單位)。

例子

啟動時,將螢幕原點設定為 (120, 120),並在新原點繪製一個矩形,左上角為 (0,0),寬度為 80 像素,高度為 40 像素。#
當開始時
[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 列。

清除螢幕堆疊塊#
清除螢幕

參數

描述

此程式碼區塊沒有參數。

例子

啟動時,繪製以 (120,120) 為圓心、半徑為 40 像素的圓。 2 秒後,螢幕清空。#
當開始時
[Draw a circle, and clear it after 2 seconds.]
在螢幕上繪製圓形 [120] [120] [40]
等待 [2] 秒
清除螢幕

填滿螢幕#

填滿螢幕堆疊區塊會清除機器人螢幕上的所有圖形和文本,然後將背景變更為指定的顏色。

填滿螢幕堆疊塊#
以 [紅色 v] 填滿螢幕

參數

描述

顏色

背景顏色:

  • 紅色
  • 綠色
  • 藍色
  • 黑色
  • 白色
  • 黃色
  • 橘色
  • 紫色
  • 青色

例子

當開始時
[Say "Hello" then turn screen yellow.]
在螢幕上列印 [Hello] ▶
等待 [2] 秒
以 [黃色 v] 填滿螢幕

設定螢幕上的字體#

設定螢幕字體 程式碼區塊用於設定機器人螢幕上顯示文字的字體和字號。此字體將套用於之後列印的所有文字。

設定字體堆疊塊#
在螢幕上設定字型為 [等寬 v] [超小 v]

參數

描述

類型

字體類型:等寬字體 或 比例字體

尺寸

字體大小(如下圖):

  • 超小
  • 特小
  • 小
  • 中
  • 大
  • 特大
  • 超大

機器人螢幕截圖,顯示以 Mono 12 字體列印的數字和字母範例。字母表佔據一行文字。底部文字橫向 26 個字符,共 15 行。
等寬超小號

与上一张图片相同,但字体为 Mono 15。字母 A-T 占据1行文字。底部文字为 20 个字符宽,12 行。
等宽特小号

与上一张图片相同,但字体为 Mono 20。字母 A-P 占据1行文字。底部文字为 16 个字符宽,共 9 行。
等宽小号

与上一张图片相同,但字体为 Mono 24。字母 A-M 占据1行文字。底部文字横向 13 个字符,共 8 行。
等宽中等字体

與上一張圖片相同,使用 Mono 30 字體。字母 AK 佔據一行文字。底部文字橫向 11 個字符,共 6 行。
等寬大號

與上一張圖片相同,使用 Mono 40 字體。字母 AH 佔據一行文字。底部文字橫向 8 個字符,共 5 行。
等寬特大號

與上一張圖片相同,使用 Mono 60 字體。數字 1-6 佔據一行文字。底部文字佔據三行。
等寬超大號

與上一張圖片相同,但使用 Prop 20 字體。字母 As 佔據一行文字。底部文字為 20 個字元寬,9 行高。
比例小

與上一張圖片相同,但使用 Prop 30 字體。字母 AM 佔據一行文字。底部文字為 15 個字符,共 6 行。
比例大

與上一張圖片相同,但使用 Prop 40 字體。字母 AJ 佔據一行文字。底部文字為 11 個字符,共 5 行。
比例超大

機器人螢幕截圖,顯示以 Prop 60 字體列印的數位樣本。數字 1-7 佔據一行文字。底部顯示 7 行 3 列。
比例超大

例子

啟動時,將字體設定為“等寬特大號”,並在螢幕上列印“VEX”。#
當開始時
[Display text using a larger font]
在螢幕上設定字型為 [等寬 v] [特大 v]
在螢幕上列印 [VEX] ▶

機器人螢幕的截圖顯示,左上角以白色 Mono 40 字體列印著 VEX 字樣。

設定螢幕列印精度#

設定螢幕列印精確度 堆疊方塊用於設定機器人螢幕上列印數字時顯示的小數位數。此列印精度將應用於之後列印的所有數字。

設定列印精度堆疊塊#
在螢幕上設定列印精度為 [0.1 v]

參數

描述

精確

列印精度:

  • 1
  • 0.1
  • 0.01
  • 0.001
  • 所有數字

例子

啟動時,將列印精度設定為小數點後兩位,並在螢幕上將 1/3 列印為 0.33。#
當開始時
[Print 1/3 as 0.33.]
在螢幕上設定列印精度為 [0.01 v]
在螢幕上列印 ([1] [math_division v] [3]) ▶

機器人螢幕的截圖左上角顯示白色數字 0.33。

設定螢幕上的筆寬#

設定畫面上的筆寬 堆疊塊用於設定繪製線條和形狀輪廓的粗細。

設定筆寬堆疊塊#
在螢幕上設定畫筆寬度為 [10]

參數

描述

寬度

筆的寬度,以像素為單位,範圍從 0 到 32。

例子

啟動時,將筆的寬度設為 10 像素,並繪製一個左上角位於 (50,50)、寬度為 130 像素、高度為 60 像素的矩形。#
當開始時
[Draw a rectangle with a pen width of 10.]
在螢幕上設定畫筆寬度為 [10]
在螢幕上繪製矩形 [50] [50] [130] [60]

機器人螢幕的截圖,上半部畫著一個粗白矩形。

設定螢幕上的筆/字體顏色#

設定螢幕上的筆/字體顏色 堆疊塊設定文字、像素、線條和形狀輪廓的顏色。

設定筆/字體顏色堆疊塊#
在螢幕上設定畫筆/字型顏色為 [紅色 v]

參數

描述

顏色

要使用的笔和字体颜色:

  • 红色
  • 绿色
  • 蓝色
  • 黑色
  • 白色
  • 黄色
  • 橙色
  • 紫色
  • 青色
  • 透明

例子

啟動時,將畫筆顏色設為紅色,並繪製一個左上角位於 (50, 50) 的矩形,寬度為 130 像素,高度為 60 像素。#
當開始時
[Draw a rectangle with a red pen.]
在螢幕上設定畫筆/字型顏色為 [紅色 v]
在螢幕上繪製矩形 [50] [50] [130] [60]

機器人螢幕的截圖,上半部畫著一個細邊框的紅色矩形。

設定螢幕填滿顏色#

設定螢幕填滿色彩 堆疊方塊用於設定繪製形狀時使用的填滿色彩。

設定填滿顏色堆疊塊#
在螢幕上設定填色為 [紅色 v]

參數

描述

顏色

填滿顏色:

  • 紅色
  • 綠色
  • 藍色
  • 黑色
  • 白色
  • 黃色
  • 橙色橙色
  • 紫色
  • 青色
  • 1

範例

啟動時,將填滿色彩設為橘色,並繪製兩個矩形。第一個矩形位於 (50, 50),第二個矩形位於 (50, 130),兩個矩形的寬度均為 100 像素,高度皆為 60 像素。#
當開始時
[Draw two orange rectangles.]
在螢幕上設定填色為 [橙色 v]
在螢幕上繪製矩形 [50] [50] [100] [60]
在螢幕上繪製矩形 [50] [130] [100] [60]

機器人螢幕的截圖,螢幕左側中央有兩個平行的橙色矩形,帶有細細的白色輪廓。


啟動時,將背景填滿色彩設為紫色,並在螢幕上列印「高亮顯示」。#
當開始時
[Display text with a purple background.]
在螢幕上設定填色為 [紫色 v]
在螢幕上列印 [Highlight] ▶

機器人螢幕的截圖顯示“高亮顯示”,白色文字周圍有紫色高亮圈,從左上角開始。

畫#

在螢幕上顯示圖像文件#

在螢幕上顯示影像檔案堆疊區塊會在機器人的螢幕上繪製使用者上傳的自訂影像。

顯示使用者圖像堆疊塊#
顯示圖像檔案 [1 v]

參數

描述

圖片插槽編號

要使用的自訂影像,編號為 1 到 10。影像編號與 AIM 控制面板中顯示的編號一致。

例子

當開始時
[Draw uploaded Image 1.]
顯示圖像檔案 [1 v]

在螢幕上繪製像素#

在螢幕上繪製像素堆疊區塊使用目前的畫筆顏色在選取的x和y座標處繪製一個像素。

默认情况下,屏幕原点位于屏幕左上角 (0, 0)。x 轴上,0 位于屏幕左侧,240 位于屏幕右侧。y 轴上,0 位于屏幕顶部,240 位于屏幕底部。您可以使用 设置屏幕原点指令块将原点移动到其他位置。更改原点后,x 轴和 y 轴的坐标范围也会随之改变。

例如,如果原點設定為 (120, 120),則 x 和 y 座標的範圍將從 -120 到 120。

繪製像素堆疊塊#
在螢幕上繪製像素 [0] [0]

參數

描述

x

繪製像素的 x 座標,範圍從 0 到 240,預設原點為 0。

是

繪製像素的 y 座標,範圍從 0 到 240,預設原點為 0。

例子

啟動時,在螢幕中心座標 (120, 120) 處繪製一個像素。#
當開始時
[Draw a pixel at the center of the screen.]
在螢幕上繪製像素 [120] [120]

機器人螢幕的截圖,中心有一個白色像素。

在螢幕上畫線#

在螢幕上繪製線條堆疊區塊使用目前的筆寬和筆顏色從第一個螢幕座標(x1, y1)到第二個螢幕座標(x2, y2)繪製一條線。

默认情况下,屏幕原点位于屏幕左上角 (0, 0)。x 轴上,0 位于屏幕左侧,240 位于屏幕右侧。y 轴上,0 位于屏幕顶部,240 位于屏幕底部。您可以使用 设置屏幕原点指令块将原点移动到其他位置。更改原点后,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。

例子

啟動時,從螢幕左上角 (0,0) 到右下角 (240,240) 畫一條對角線。#
當開始時
[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 位于屏幕底部。您可以使用 设置屏幕原点指令块将原点移动到其他位置。更改原点后,x 轴和 y 轴的坐标范围也会随之改变。

例如,如果原點設定為 (120, 120),則 x 和 y 座標的範圍將從 -120 到 120。

繪製矩形堆疊塊#
在螢幕上繪製矩形 [0] [0] [10] [10]

參數

描述

x

矩形左上角的 x 座標(以像素為單位),取值範圍為 0 到 240,預設原點為 0。

是

矩形左上角的 y 座標(以像素為單位),取值範圍為 0 到 240,預設原點為 0。

寬度

矩形的寬度(以像素為單位)。

高度

矩形的高度(以像素為單位)。

例子

啟動時,在螢幕上繪製一個矩形,左上角位於 (50,50),寬度為 130 像素,高度為 60 像素。#
當開始時
[Draw a rectangle on the screen.]
在螢幕上繪製矩形 [50] [50] [130] [60]

機器人螢幕的截圖,上半部畫了一個白色矩形。

在螢幕上畫一個圓#

在螢幕上繪製圓形堆疊區塊使用目前的畫筆寬度、畫筆顏色和填滿色彩繪製圓形。

默认情况下,屏幕原点位于屏幕左上角 (0, 0)。x 轴上,0 位于屏幕左侧,240 位于屏幕右侧。y 轴上,0 位于屏幕顶部,240 位于屏幕底部。您可以使用 设置屏幕原点指令块将原点移动到其他位置。更改原点后,x 轴和 y 轴的坐标范围也会随之改变。

例如,如果原點設定為 (120, 120),則 x 和 y 座標的範圍將從 -120 到 120。

畫圓 堆疊方塊#
在螢幕上繪製圓形 [0] [0] [10]

參數

描述

x

圓心的 x 座標(以像素為單位),取值範圍為 0 到 240,預設原點為圓心。

是

圓心的 y 座標(以像素為單位),取值範圍為 0 到 240,預設原點為圓心。

半徑

圓的半徑(以像素為單位)。

例子

啟動時,在螢幕上繪製一個圓,圓心位於 (120,120),半徑為 40 像素。#
當開始時
[Draw a circle on the screen.]
在螢幕上繪製圓形 [120] [120] [40]

機器人螢幕的截圖,中心畫有一個白色圓圈。

觸碰#

螢幕按下#

螢幕按下布爾塊報告機器人的螢幕目前是否被按下。

  • 正確 — 螢幕正在被按下。

  • 錯誤 — 螢幕未按下。

螢幕按下布爾塊#
<螢幕按下?>

參數

描述

此程式碼區塊沒有參數。

例子

啟動後,持續偵測螢幕是否被按下。如果被按下,所有 LED 指示燈都變為白色;否則,它們保持熄滅狀態。#
當開始時
[Turn LEDs white only when the screen is pressed.]
永遠
如果 <螢幕按下?> 則
設定 [lightall v] LED 顏色為 [白色 v]
否則
設定 [lightall v] LED 顏色為 [關 v]
結束
結束

螢幕位置#

螢幕位置報告模組會報告上次螢幕按鍵的選定座標。 x 座標範圍為 0(左)到 240(右)。 y 座標範圍為 0(上)到 240(下)。

螢幕位置報告區塊#
(螢幕 [x v] 位置)

參數

描述

協調

最後一次螢幕按鍵的座標用於報告:x 表示水平位置,y 表示垂直位置。

例子

啟動後,持續偵測螢幕按鍵。如果偵測到按鍵,則清除螢幕並列印觸控位置的 x 和 y 座標。#
當開始時
[Display the x and y coordinate of where the screen is pressed.]
永遠
如果 <螢幕按下?> 則
清除螢幕
在螢幕上列印 (螢幕 [x v] 位置) ▶
將游標移至螢幕下一列
在螢幕上列印 (螢幕 [y v] 位置) ▶
結束
結束

螢幕事件#

當機器人的螢幕被按下或釋放時,螢幕事件 模組會執行附加的模組堆疊。

當螢幕事件帽阻擋#
當螢幕 [按下 v] 時

參數

描述

行動

何時運行附加的積木棧:pressed 在螢幕被按下時運行,released 在螢幕被釋放時運行。

例子

按下螢幕時,所有 LED 燈都會變成綠色。#
當螢幕 [按下 v] 時
[Set the LEDs to green when the screen is pressed.]
設定 [lightall v] LED 顏色為 [綠色 v]