連連看
延續「連連看 ( 產生器 )」的範例,這篇文章會介紹,如何在 Scratch 裡使用變數、清單、畫筆、重複、偵測滑鼠按下、偵測碰到...等積木,實作一個連連看的小遊戲。
角色設定
在角色編輯區,刪除貓咪角色,使用繪畫,繪製「黑點」和「紅點」兩個新的角色 ( 參考:造型與繪圖 )。
接著加入「鉛筆」角色,尺寸設定為 60 ( 參考:Scratch 角色設定 )。
點選鉛筆角色,切換到「造型」頁籤,將鉛筆的筆尖,對齊造型的中心點。
完成後,三個角色在舞台上的尺存如下圖所示。
積木程式原理 ( 鉛筆 )
點擊「鉛筆」角色,設計「鉛筆畫圖」的程式:
- 放入點擊綠旗積木。
- 點擊綠旗時,清除舞台筆跡、設定畫筆顏色和寬度。
- 停筆 ( 避免出現額外的線條 )。
- 使用重複無限次積木。
- *每次重複,將鉛筆定位到滑鼠座標 ( 跟隨滑鼠移動 )*。
- 每次重複,判斷如果按下滑鼠,就下筆畫畫,放開滑鼠,就停筆。
完成後,切換到「專案頁面」,點擊綠旗,就能夠用鉛筆在舞台上畫畫。
積木程式原理 ( 黑點 )
點擊「黑點」角色,新增變數「a」和「x」和 「y」兩個清單,將清單勾選顯示在舞台上。
用滑鼠在舞台的空白清單上按右鍵,點選「匯入」,選擇用「連連看產生器」產生的 x 和 y 座標清單。
接著將取消勾選顯示清單 ( 隱藏清單 ),編輯「根據清單產生黑點」的程式:
- 放入點擊綠旗積木。
- 設定變數 a 為 0,目的在於透過 a 取出清單的項目。
- 設定圖像效果幻影為 100,隱藏本尊 ( 完全透明 )。
- 使用重複次數積木,重複「清單長度」的次數。
- 每次重複,將 a 增加 1。
- 每次重複,將本尊定位到對應清單的座標。
- 產生分身。
為什麼要設定圖像效果「幻影」?因為待會要判斷黑點是否碰到紅點,如果使用「隱藏」,則角色本體會從舞台隱藏,將永遠不會碰到紅點,所以使用「幻影」。
完成後,點擊綠旗,舞台上就會出現連連看的黑點。
產生黑點後,在程式下方放入重複無限次積木,加入黑點本尊碰到紅點的程式:
- 每次重複,讓黑點本尊定位到滑鼠座標 ( 跟隨滑鼠移動 )。
- 每次重複,判斷如果滑鼠按下時,剛好碰到紅點,就發送 next 訊息。
紅點角色負責提示「下一個要連的點」,當碰到紅點時,發送 next 訊息讓紅點出現在下一個位置。
為什麼不用鉛筆角色呢。因為鉛筆角色的「筆身太長」,會發生預期外的碰觸事件。
積木程式原理 ( 紅點 )
點擊「紅點」角色,新增一個變數 b。
編輯點擊綠旗時的程式:
- 將圖層移到最上層,避免被黑點遮住。
- 顯示紅點角色 ( 因為結束後會隱藏 )。
- 設定變數 b 為 1,表示第一個點。
- 說出 b,顯示目前在地幾個點。
- 將紅點定位到第一個點的座標。
最後編輯收到 next 訊號的程式:
- 收到 next 訊號後,將 b 增加 1,表示前往下一個點。
- 判斷如果 b 還沒等於清單的長度,就說出 b,並將紅點位置移動到下一個座標。
- 如果 b 已經等於清單長度,就隱藏紅點。
完成後,前往「專案頁面」,點擊綠旗,就可以開始進行連連看的遊戲。
範例解答
範例解答:連連看
延伸教學
如果已經熟悉了連連看的原理,還可以嘗試更多好玩的作法:
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~