[Scratch] 製作 打擊蝙蝠 – Strike the Bats 遊戲
已經有一陣子沒有碰 Scratch 了,
最近正好收到 Scratch 3.0 上線的通知,
於是就來重頭學習一次吧~
這是今天完成的一個小遊戲,名字叫「打擊蝙蝠 – Strike the Bats」,
顧名思義就是用球棒去打飛來飛去的蝙蝠~
靈感來源… 其實是在書店看完了 Scratch積木程式教室 這本好看的漫畫,
裡面做了一個控制飛龍移動與噴火,來攻擊幽靈的遊戲。
在 Scratch 內建的圖庫裡沒找到類似的素材,
就直接從內建圖庫裡,找出揮棒球員和蝙蝠來湊數囉~
簡單看一下畫面吧~大家也可以到 打擊蝙蝠 – Strike the Bats 的頁面去玩,
基本上就是蝙蝠會隨機出現,用方向鍵移動球員去接近蝙蝠:
按下空白鍵就能揮棒,沒打中的話蝙蝠會嘲笑你一下:
打中的話蝙蝠就會慘叫消失,之後再生出新的一隻出來:
要如何製作這個遊戲呢?
1. 用方向鍵移動球員
基本上就是在事件 (Event) 中,如果接收到方向鍵的事件,
就移動球員的 X 或 Y 座標值,相當簡單:
2. 按空白鍵揮動球棒
因為 Scratch 內建圖庫裡的這個球員,
本身是有好幾個不同的揮棒姿勢 (costume),
因此我們只要切換不同的 costume,中間加點延遲時間,
這樣就能看清楚揮棒動作了~
至於揮棒有沒有打中蝙蝠?
因為都是要由蝙蝠來做對應的動作,所以廣播 (broadcast) 一個 Strike 訊息,
再讓蝙蝠那邊接收訊息來處理。
3. 產生飛行中的蝙蝠
這個部分是我看 Scratch積木程式教室 這本書前還不會的,
用到了分身 (clone) 這個功能。
後來發現分身的功能非常重要,
在需要產生重覆、或是會生成再消失的角色時,
分身都能派上用場~
首先蝙蝠的本體在一開始先隱藏起來,
從本體建立一隻分身出來 (預設會在和本體相同位置):
當分身產生出來之後,設定隨機顏色 (好識別這是新的一隻蝙蝠),
同時把它移動到一個隨機的位置後再顯示出來。
接著,當分身產生出來之後,設定隨機顏色 (好識別這是新的一隻蝙蝠),
同時把它移動到一個隨機的位置後再顯示出來。
接著,持續讓它隨機往上下左右移動,
製造出一個牠在飛行的視覺效果:
這邊有多設定一個碰到邊緣後反彈 (if on edge, bounce),
這樣蝙蝠在隨機移動時,就不會飛出螢幕外了~
4. 偵測揮棒是否打擊成功
剛剛在步驟 2 中,球員揮棒時會廣播一個 Strike 的訊息,
於是我們就在蝙蝠這邊接收到這訊息時,
判斷蝙蝠和球員是否有接觸,有的話就當作打到了,
設定一些視覺效果表示被打到的樣子。
最後先產生一隻新的分身,再把現在這隻被打到的分身消滅掉。
新產生出來的分身就會適用步驟 3 的 when I start as a clone 事件,
自行設定顏色與出現的地點了~
要作出這個遊戲,最粗略的版本大約只要不到 20 分鐘就能完成,
但後來要調整一些細微處和視覺效果的話,
就要花不少時間 (1~2 個小時)~
不過可以完成一個遊戲,也學習到了分身的用法,
感覺還是挺不錯的,之後再來分享別的作品吧~^^