[Scratch] 畫筆與偵測—走山路的貓 (Mountain-Climbing Cat)

[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) 頁面玩玩看囉~^^

(本頁面已被瀏覽過 527 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料