大型迷宮 ( 滑鼠控制 )
這篇文章會沿用「大型迷宮 ( 鍵盤控制 )」的範例,搭配 Scratch 偵測滑鼠座標的功能,將原本使用鍵盤控制的貓咪,改成使用滑鼠控制,如此便能在行動裝置或平板上,進行大型迷宮的遊戲。
相關文章參考:大型迷宮 ( 鍵盤控制 )、滑鼠座標。
開啟範例
本篇教學為「大型迷宮 ( 滑鼠控制 )」一文的延伸,請先開啟範例進行編輯。
積木程式原理 ( 迷宮 )
點擊「迷宮」角色,新增 x 和 y 兩個變數,負責紀錄滑鼠座標的資訊。
新增一個名為「滑鼠」的函式,加入一個「speed」參數。
編輯滑鼠函式:
- 使用重複無限次積木。
- 每次重複設定 x 和 y 為 0,模擬按下鍵盤的狀況。
- 當滑鼠按下時執行判斷:
- 如果「滑鼠 x 座標的絕對值」大於「滑鼠 y 座標絕對值 x 1.33」,將變數 x 設為「滑鼠 x 座標 x -1」。
- 如果「滑鼠 x 座標的絕對值」小於「滑鼠 y 座標絕對值 x 1.33」,將變數 y 設為「滑鼠 y 座標 x -1」。
為什麼要乘以 1.33?因為 Scratch 舞台比例為 4:3,所以如果要判斷上下左右象限,將 y 座標乘以 1.33 會更為準確。
由於滑鼠的座標數值,可能會很大而導致移動過快,所以必須加入邏輯判斷,使移動速度最大不會超過參數數值:
- 如果 x 大於 speed,讓 x 等於 speed 數值,發送「左邊」訊息。
- 如果 x 小於 speed x -1,讓 x 等於 speed x -1 數值,發送「右邊」訊息。
- 如果 y 大於 speed,讓 y 等於 speed 數值。
- 如果 y 小於 speed x -1,讓 y 等於 speed x -1 數值。
- 完成後執行移動函式,將 x 和 y 的數值帶入移動函式。
新增另一個點擊綠旗程式,放入重複無限次積木,不斷執行滑鼠函式,並設定速度參數為 10。
積木程式原理 ( 貓咪 )
點擊「貓咪」角色,加入收到「左邊」、「右邊」訊息的動作,使貓咪轉相對應的方向。
積木程式原理 ( 小貓咪 )
點擊「小貓咪」角色,加入收到「左邊」、「右邊」訊息的動作,使小貓咪轉相對應的方向。
完成效果
完成後,點擊綠旗,除了可以用鍵盤控制貓咪走迷宮,也可以使用滑鼠走迷宮,按下空白鍵,就能查看地圖的縮圖。
範例解答
範例解答:大型迷宮 ( 滑鼠控制 )
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~