螢幕#

介紹#

螢幕模組控制 VEX AIR 無人機控制器的螢幕,使控制器能夠顯示文字、數位、圖形和影像,並回應觸控輸入。

注意:如果 VEX AIR 無人機已與控制器配對,則列印螢幕頂部將顯示計時器,指示目前專案的已使用時間。任何文字或繪圖都會顯示在計時器後面。

以下是可用模組列表:

遊標列印 - 顯示文字並管理列印遊標。

XY 列印 - 在基於像素的座標處列印文字。

設定 - 變更文字、圖形和螢幕顯示的外觀。

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

觸控 - 偵測螢幕互動。

遊標列印#

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

设置光标到屏幕上的行列指令块会将光标移动到控制器屏幕上的特定行和列。下一个在屏幕上打印指令块将从该位置开始打印。

螢幕上可顯示的字元數取決於所選字體。使用預設的等寬中等字體,最多可清晰顯示 18 行 53 列。超出此範圍的文字可能會被截斷或難以閱讀。

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

參數

描述

排

要將遊標移到的行。

柱子

要將遊標移到的列。

範例

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

VEX AIR 無人機控制器螢幕的截圖,螢幕中心附近有白色文字,顯示「第 7 行,第 25 列」。

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

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

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

參數

描述

該塊沒有參數。

例子

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

VEX AIR 無人機控制器螢幕的截圖,左上角有白色文字,第一行顯示“第 1 行”,第二行緊隨其後。

螢幕上的清除行#

清除螢幕上的行堆疊區塊清除控制器螢幕上的一行文字。

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

參數

描述

排

要清除的行號。

例子

啟動後,列印兩行文字。第一行保留,第二行在 3 秒後消失。#
當開始時
[Clear only the second row of text.]
在螢幕上列印 [This text stays] ▶
將游標移至螢幕下一列
在螢幕上列印 [This text disappears] ▶
等待 [3] 秒
清除螢幕第 [2] 列

螢幕遊標列#

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

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

參數

描述

該塊沒有參數。

例子

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

VEX AIR 無人機控制器螢幕的截圖,螢幕中心附近有白色文字“25”,位於第 7 行第 25 列。

螢幕遊標行#

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

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

參數

描述

該塊沒有參數。

例子

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

VEX AIR 無人機控制器螢幕的截圖,螢幕中心附近有白色文字顯示“7”,位於第 7 行第 25 列。

XY列印#

設定螢幕原點#

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

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

參數

描述

x

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

y

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

例子

啟動時,將螢幕原點設定為 (320, 240),並在新原點繪製一個矩形,其左上角為 (0,0),寬度為 80 像素,高度為 40 像素。#
當開始時
[Set the origin to the center of the screen.]
設定螢幕原點 x: [320] y: [240]
[Draw a rectangle at the new origin.]
在螢幕上繪製矩形 [0] [0] [80] [40]

VEX AIR 無人機控制器螢幕的截圖,繪製了一個白色矩形,使左上角位於螢幕中心。

設定#

清除螢幕#

清除螢幕堆疊區塊會清除控制器螢幕上的所有繪圖、文字和圖像。

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

參數

描述

該塊沒有參數。

例子

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

等待螢幕渲染#

「等待螢幕渲染」堆疊區塊會將螢幕繪製行為切換為稍後渲染。此程式碼區塊運行後,後續的螢幕程式碼區塊將不會顯示在控制器螢幕上,直到下一個「等待螢幕渲染」程式碼區塊運行為止。

注意: 在繪製一組文字、形狀或圖像之前使用此區塊,然後再次使用它以一次性渲染完整的更新。

等待螢幕渲染

參數

描述

該塊沒有參數。

例子

啟動時,繪製以 (120,120) 為圓心、半徑為 40 像素的圓。 2 秒後,螢幕清空。#
當開始時
[Display text and images when button 7 is pressed.]
等待螢幕渲染
在螢幕上列印 [Screen rendered!] ▶
在螢幕上繪製圓形 [320] [240] [80]
等待直到 <控制器按鈕 [7 v] 按下?>
等待螢幕渲染

VEX AIR 無人機控制器螢幕的截圖,左上角有白色文字“螢幕渲染完成!”,螢幕中央畫有一個白色圓圈。

填滿螢幕#

填滿螢幕堆疊區塊清除控制器螢幕上的所有繪圖、文字和圖像,然後將背景變更為指定的顏色。

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

參數

描述

顏色

要更改的背景颜色:

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

例子

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

VEX AIR 無人機控制器螢幕的截圖,螢幕上所有可列印區域都填充了亮綠色。

設定螢幕上的字體#

設定螢幕字體 堆疊區塊用於設定控制器螢幕上顯示文字的字體和字號。此字體將套用於此程式碼區塊運行後列印的所有文字。

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

參數

描述

類型

字體類型:等寬字體或等寬字體。

尺寸

字体大小(如下所示):

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

VEX AIR 無人機控制器螢幕截圖,左上角以 Mono 12 字體列印了一系列白色字母和數字。字母 AZ 位於一行,佔據螢幕寬度的大約三分之一。左下角顯示「91 個字符,30 行」。
monospaced super small

与上一张图片相同,现在使用 Mono 15 字体。字母 AZ 位于一行,占据屏幕近一半的宽度。左下角显示71 个字符,23 行。
monospaced extra small

与上一张图片相同,现在使用 Mono 20 字体。字母 AZ 位于一行,占据屏幕宽度的一半。左下角显示“53 个字符,18行。
monospaced small

与上一张图片相同,现在使用 Mono 24 字体。字母 AZ 位于一行,占据屏幕宽度的一半多一点。左下角显示“45字符,15行”。
monospaced medium

与上一张图片相同,现在使用 Mono 30 字体。字母 AZ 位于一行,占据屏幕宽度大约四分之三。左下角显示“35 个字符,12行”。
monospaced large

与上一张图片相同,现在使用 Mono 40 字体。字母 AZ 位于一行,占据屏幕宽度的一半。左下角显示“26 个字符,9行。
monospaced extra large

与上一张图片相同,现在使用 Mono 60 字体。字母 AZ 位于一行,占据屏幕宽度的一半。左下角显示“17 个字符,6行。
monospaced super large

與上一張圖片相同,現在使用 Prop 20 字體。字母 AZ 位於一行,佔據螢幕寬度的一半多一點。左下角顯示為 49 個字符,18 行。
proportional small

與上一張圖片相同,現在使用 Prop 24 字體。字母 AZ 位於一行,佔據螢幕寬度的約三分之二。左下角顯示 42 個字符,15 行。
proportional medium

與上一張圖片相同,現在使用 Prop 30 字體。字母 AZ 位於一行,佔據螢幕寬度的四分之三。左下角顯示「33 個字符,12 行」。
proportional large

與上一張圖片相同,現在使用 Prop 40 字體。字母 AY 位於一行,橫跨螢幕寬度。左下角顯示「24 個字符,9 行」。
proportional extra large

與上一張圖片相同,現在使用 Prop 60 字體。字母 AQ 位於一行,橫跨螢幕寬度。左下角顯示 17 個字符,6 行。
proportional super large

例子

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

與之前的圖片相同,現在左上角有白色文字,內容為 VEX is Mono 40 字體。

設定螢幕列印精度#

設定螢幕列印精確度堆疊方塊用於設定控制器螢幕上列印數字時顯示的小數位數。此列印精度將套用於此堆疊區塊運行後列印的所有數字。

設定列印精度堆疊塊#
在螢幕上設定列印精度為 [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]) ▶

VEX AIR 無人機控制器畫面的截圖,左上角有白色文字顯示 0.33。

設定螢幕上的筆寬#

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

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

參數

描述

寬度

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

例子

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

VEX AIR 無人機控制器螢幕的截圖,中間印有一個粗邊框的白色矩形。

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

「設定螢幕上的筆/字體顏色」堆疊區塊用於設定文字、像素、線條和形狀輪廓的顏色。預設顏色為白色。

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

例子

參數

描述

顏色

要使用的笔和字体颜色:

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

啟動時,將畫筆顏色設為紅色,並繪製一個矩形,左上角位於 (50, 50),寬度為 130 像素,高度為 60 像素。#
當開始時
[Draw a rectangle with an orange outline.]
在螢幕上設定畫筆/字型顏色為 [橙色 v]
在螢幕上繪製矩形 [200] [150] [240] [150]
在螢幕上設定畫筆/字型顏色為 [白色 v]
在螢幕上列印 [VEXcode AIR] 於 x:[250] y:[220]

VEX AIR 無人機控制器螢幕的截圖,中間有一個細長的橙色矩形,矩形內印有白色的“VEXcode AIR”字樣。

設定螢幕上的文字填滿顏色#

「設定畫面上的文字填滿顏色」堆疊區塊用於設定列印文字背後的填滿顏色。預設的文字填滿顏色為透明。

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

參數

描述

顏色

文本填充颜色:

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

範例

啟動後,將填滿顏色設為橘色,並繪製兩個矩形。第一個矩形位於 (50, 50),第二個矩形位於 (50, 130),寬度皆為 100 像素,高度皆為 60 像素。#
當開始時 :: hat events
[Display two colors behind text.]
在螢幕上設定文字填色為 [紅色 v]
在螢幕上列印 ["Red"] ▶
將游標移至螢幕下一列
在螢幕上設定文字填色為 [藍色 v]
在螢幕上列印 ["Blue"] ▶

設定畫面上的繪製填滿顏色#

「設定畫面上的繪製填滿色彩」堆疊方塊用於設定繪製形狀時所使用的填滿色彩。預設填滿顏色為黑色。

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

參數

描述

顏色

要使用的形状填充颜色:

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

範例

啟動後,將填滿顏色設為橘色,並繪製兩個矩形。第一個矩形位於 (50, 50),第二個矩形位於 (50, 130),寬度皆為 100 像素,高度皆為 60 像素。#
當開始時
[Draw an orange-filled rectangle with text on top.]
在螢幕上設定繪圖填色為 [橙色 v]
在螢幕上繪製矩形 [200] [150] [240] [150]
在螢幕上列印 [VEXcode AIR] 於 x:[250] y:[220]

VEX AIR 無人機控制器螢幕的截圖,圖中有一個實心橙色矩形,帶有細白邊框,矩形中心印有白色文字“VEXcode AIR”。

畫#

在螢幕上顯示圖像文件#

在螢幕上顯示影像檔案堆疊區塊在控制器螢幕上的設定原點繪製自訂使用者上傳的影像。

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

參數

描述

圖片編號

要使用的用戶上傳的圖片。如果在控制台中編輯了圖片名稱,選項將會變更。

例子

待辦事項#
當開始時
[Display custom image on screen.]
顯示圖像檔案 [IMAGE1 v]

在螢幕上繪製像素#

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

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

參數

描述

x

繪製像素的 x 座標,範圍從 0 到 640。

y

繪製像素的 y 座標,範圍從 0 到 480。

例子

啟動時,在螢幕中心座標 (120, 120) 處繪製一個像素。#
當開始時
[Draw five pixels in a diagonal.]
在螢幕上繪製像素 [360] [200]
在螢幕上繪製像素 [340] [220]
在螢幕上繪製像素 [320] [240]
在螢幕上繪製像素 [300] [260]
在螢幕上繪製像素 [280] [280]

VEX AIR 無人機控制器螢幕的截圖,螢幕中央沿對角線均勻地印有 5 個像素。

在螢幕上畫線#

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

畫線堆疊塊#
在螢幕上繪製線段 [0] [0] [10] [10]

參數

描述

x1

行首的 x 座標(像素),範圍從 0 到 640。

y1

線段起始點的 y 座標(像素),取值範圍為 0 到 480。

x2

行尾的 x 座標(像素),範圍從 0 到 640。

y2

線段末端的 y 座標(像素),取值範圍為 0 到 480。

例子

啟動時,從螢幕左上角(0,0)到右下角(240,240)繪製一條對角線。#
當開始時
[Make an X across the screen.]
在螢幕上繪製線段 [0] [0] [640] [480]
在螢幕上設定畫筆/字型顏色為 [青色 v]
在螢幕上繪製線段 [0] [480] [640] [0]

VEX AIR 無人機控制器畫面的截圖,從左上角到右下角畫一條白線,從左下角到右上角畫一條青色線,兩條線在中心相交。

在螢幕上繪製一個矩形#

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

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

例子

參數

描述

x

矩形左上角的 x 座標(像素),取值範圍為 0 到 640。

y

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

寬度

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

高度

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

啟動時,在螢幕上繪製一個矩形,左上角位於 (50,50),寬度為 130 像素,高度為 60 像素。#
當開始時
[Draw two rectangles on the screen.]
在螢幕上繪製矩形 [0] [0] [620] [460]
在螢幕上設定繪圖填色為 [綠色 v]
在螢幕上繪製矩形 [200] [180] [200] [100]

VEX AIR 無人機控制器螢幕的截圖,螢幕中心印有一個帶有細白邊框的實心綠色矩形,螢幕外緣也印有一個細白邊框。

在螢幕上畫一個圓#

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

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

參數

描述

x

圓心的 x 座標(像素值),取值範圍為 0 到 640。

y

圓心的 y 座標(像素值),取值範圍為 0 到 480。

半徑

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

例子

啟動時,在螢幕上繪製一個圓心為 (120,120) 、半徑為 40 像素的圓圈。#
當開始時
[Draw one green circle on the screen.]
在螢幕上設定繪圖填色為 [綠色 v]
在螢幕上繪製圓形 [320] [240] [200]

VEX AIR 無人機控制器螢幕的截圖,螢幕中央繪製了一個帶有細白邊框的大型實心綠色圓圈。

觸碰#

螢幕按下#

螢幕按下布林區塊報告控制器螢幕目前是否被按下。

  • 正確 - 螢幕目前正被按下

  • 錯誤 - 螢幕未按下

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

參數

描述

該塊沒有參數。

例子

當開始時
[Play a sound when the screen is pressed.]
永遠
如果 <螢幕按下?> 則
播放音符 [低 v] [C v] [note_eight v] ▶
按下螢幕後,會顯示第一條訊息。然後,程式會等待螢幕放開,只有在再次按下螢幕後才會繼續顯示第二個訊息。#
當開始時
[Display different messages after the screen is pressed.]
等待直到 <螢幕按下?>
在螢幕上列印 [First message!] ▶
將游標移至螢幕下一列
[Lift finger to press the screen again.]
等待直到 <非 <螢幕按下?>>
等待直到 <螢幕按下?>
在螢幕上列印 [Second message!] ▶

螢幕位置#

螢幕位置報告模組會報告螢幕上次被按下位置的 x 或 y 座標(以像素為單位)。 x 的回傳值介於 0(左)和 640(右)之間。 y 的回傳值介於 0(上)和 480(下)之間。

VEX AIR 無人機控制器,螢幕尺寸可列印的區域已以紅色方塊標示。座標從左上角的 (0,0) 開始,順時針方向依序為 (0, 640)、(480, 640) 和 (480,0) 至左下角。螢幕中心座標為 (240, 320)。

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

參數

描述

協調

最後一次螢幕點擊的座標(以像素為單位):x 表示水平位置,y 表示垂直位置。

例子

啟動後,持續偵測螢幕是否按下。如果按下,則清除螢幕並列印觸控位置的 x 和 y 座標。#
當開始時
[Play high or low note based on where screen is pressed.]
永遠
如果 <螢幕按下?> 則
如果 <(螢幕 [x v] 位置) [math_greater_than v] [320]> 則
播放音符 [高 v] [C v] [note_eight v] ▶
否則
播放音符 [低 v] [C v] [note_eight v] ▶

當螢幕事件#

當按下或釋放控制器螢幕時,螢幕事件 程式碼區塊會運作。

當螢幕事件帽子區塊#
當螢幕 [按下 v] 時

參數

描述

行動

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

例子

當螢幕 [按下 v] 時
[Play a sound when the screen is pressed.]
播放聲音 [成功 v] ▶