開始:程式開始+一直重複
讀手把要一直重複讀。先放黃色的「when program starts」,下面接「forever(一直重複)」,裡面放「wait 0.1 seconds」,每 0.1 秒讀一次。
- 打開樂高官方 SPIKE App,新增專案,選「Word Blocks(文字積木)」。
- 從「Events」拖出「when program starts」,從「Control」拖出「forever」接在下面。
- 再拖一顆「wait 1 seconds」放進 forever,數字改成 0.1。
在樂高官方 SPIKE App 裡,掌控者接收器會被當成顏色感應器,所以不用匯入函式庫,直接用顏色感應器的積木讀,再換算成按鍵和搖桿。左邊一步一步做,右邊的積木會跟著長出來;這些積木圖是直接從官方網頁版 App(spike.legoeducation.com)拼好匯出的,跟你在 App 裡看到的一樣。
讀手把要一直重複讀。先放黃色的「when program starts」,下面接「forever(一直重複)」,裡面放「wait 0.1 seconds」,每 0.1 秒讀一次。
官方 App 用顏色感應器的四顆積木讀掌控者,每顆積木最前面都有孔的下拉選單,要選接收器插的那個孔。讀到的數字要換算才是按鍵和搖桿:
| 官方積木 | 讀到的是 | 換算 |
|---|---|---|
| reflected light(反射光,在 Sensors) | 方向鍵+圖形鍵 | 上 1、右 2、下 4、左 8、△ 16、○ 32、✕ 64、□ 128,同時按就相加(0 ~ 255) |
| color(顏色,在 Sensors) | 肩鍵+功能鍵 | L2 1、R2 2、L1 4、R1 8、SELECT(PS4:SHARE)16、L3 32、R3 64、START(PS4:OPTIONS)-128,同時按就相加 |
| raw red(原始紅色,在「More Sensors」擴充) | 左搖桿:X×10+Y | 放開時是 55。上下(Y)=除以 10 的餘數;左右(X)=除以 10 取整數,都是 1 ~ 9 |
| raw green(原始綠色,在「More Sensors」擴充) | 右搖桿:X×10+Y | 跟原始紅色一樣換算 |
要用 raw red、raw green,先按 App 左下角的擴充按鈕,加入「More Sensors」。「原始藍色」這頁不用。
在「Variables」新增一個變數(例如「按鍵」或「左Y」),用「set … to …」把讀到(或換算好)的值存進去,等於幫這個值取名字;之後顯示、判斷都用這個變數。判斷某個鍵有沒有按:(變數 ÷ 那個鍵的數字) 取整數(floor),再除以 2 的餘數是不是 1。點一個功能,積木和結果會換成它的範例。
模擬畫面是示意:點一下按鍵=按住,再點一下放開;拖動搖桿的圓點改變位置(放開滑鼠會停在那裡,按「全部放開」回到中間)。下面一行是四顆官方積木讀到的數字。
官方 App 能讀到的功能,每個都有一組可以照著拼的積木(C 孔)。按「試試看」會切到第 3 步。
官方 App 讀不到的功能:官方 App 只讀接收器的「組合資料」,所以手把有沒有連上、手把電量、接收器是哪一款、感應器身分、韌體版本、感應器有接好 這些讀不到。要用這些功能,改用 Pybricks(主機要換 Pybricks 韌體)。只是想直接選「哪一個鍵」、讀 1 ~ 9 的搖桿、不想自己換算,可以改用 MBC SPIKE 積木網站。