[Scratch] 畫筆與偵測—走山路的貓 (Mountain-Climbing Cat)
今天又用 Scratch 做了一個自己覺得還蠻有趣的東西,
我將它命名為 走山路的貓 (Mountain-Climbing Cat)~
遊戲的點子是想要隨機產生一座山丘,
然後讓貓咪自己去爬山~
所以主要會用到「畫筆」和「偵測」兩項工具~
1. 開始遊戲
當綠旗被點擊、或是按下空白鍵時,都會開始一個新遊戲。
以前我會廣播一個訊息,接到訊息後執行動作。
不過這次是改用區塊 (Block),也就是函式 (Function) 的方式來做,
不管是綠旗點擊、或是空白鍵按下,
都來執行 Run 這個函式:
而 Run 這個函式也很簡單,
就呼叫 DrawMountain 函式,來把山畫出來,
再呼叫 WalkCat 函式,讓貓咪開始爬山:
2. 畫出山丘
這邊借用貓咪本身的畫筆來畫畫,
因此一開始先把貓咪隱藏起來,
移動到最左邊,隨機選一個 Y 值當起點。
接著每次向右移動一點時,上下隨機移動 10 點做出山的起伏。
為了畫出實心的山,因此會讓畫筆往下畫到 Y=-180 再回到原位置:
這就是正在繪製山的情況,正在持續往右邊繪製中:
3. 讓貓咪爬山
讓貓咪移到最左上角的位置後,直線下降,
直到碰到山的「顏色」就可以停下來。
接著每次將貓咪向右移動時,就判斷貓咪有沒有碰到山的顏色。
- 有碰到,表示貓咪應該向上,直到沒碰到為止 (才不會嵌在山裡面)
- 沒碰到,表示貓咪應該向下,直到碰到為止 (才會踩在山上)
來看看執行效果吧~
每次遊戲執行,都會產生一座不同的山,
貓咪在降落到山上後,就會開始向右移動,
並同時根據山的狀況向上或向下,看起來就像是在爬山囉
(為了增加動感,每次移動時讓貓咪換下一個造型):
在偵測顏色的部分,要很注意山的顏色、和貓咪偵測碰到的顏色,
必須是一模一樣的,也就是顏色、彩度、亮度的值都必須一樣,
只差 1 也會導致偵測失敗,所以一定要仔細確認:
有興趣的人也可以到 走山路的貓 (Mountain-Climbing Cat) 頁面玩玩看囉~^^
(本頁面已被瀏覽過 530 次)