教學原文參考:太空狗閃躲隕石
這篇文章會介紹,如何在 Scratch 3 裡使用鍵盤偵測、角色移動、分身、重複無限次、邏輯、碰到分身...等積木,實作鍵盤控制角色移動閃躲隕石的小遊戲。
在角色編輯區,刪除貓咪角色,加入「太空狗」角色 ( 參考:Scratch 角色設定 )。
另外一個角色,使用繪畫,繪製隕石的圖案 ( 參考:造型與繪圖 )。
完成後,在角色區域應該就能看到太空狗和隕石兩個角色。
再來將舞台背景更換成宇宙星空的背景,舞台上就能看到太空狗和隕石,出現在宇宙裡中。
設定太空狗出現在舞台正中央 (0,0),並調整大小為 60%,接著參考 慣性移動 ( 鍵盤 ) 一文,將太空狗設定成可以用鍵盤控制上下左右,並具備「慣性移動」的特性 ( 放開鍵盤時逐漸減速 )。
點擊綠旗,就能用鍵盤操控太空狗,放開鍵盤時會有慣性地減速效果。
因為閃躲隕石的遊戲會不斷有隕石出現,所以使用重複無限次積木,每隔一秒建立一個隕石分身。
因為希望隕石都是從舞台的四個邊緣出現 ( 畫面中突然蹦出一個隕石是滿不合理的 ),所以使用一個 1~4 的隨機數,定義隕石出現位置,如果是 1,就設定 x 為 -220~220 的隨機數字,設定 y 為 -160,隕石就會從舞台下面出現,依此類推。
為了避免待會和偵測邊緣碰撞互相干擾,設定的數字比舞台座標還要小,例如舞台左側為 -240,隕石就設定 -220,舞台上緣為 180,隕石的 y 就設定 160。
使用「面朝...向」的積木,使隕石出現時,朝著太空狗的方向,接著使用重複無限次積木,讓隕石往太空狗方向移動,使用「如果...那麼」積木,判斷碰到邊緣或碰到太空狗的時候,就刪除分身。
完成後,點擊綠旗,就會看到隕石不斷出現,同時可以用鍵盤操控太空狗閃躲隕石。
最後在隕石的角色加入「被撞到」的變數,在碰到太空狗的時候,讓變數改變 1,就能計算被撞到幾次了。
注意,為什麼要加在「隕石」角色呢?因為如果將判斷程式加在太空狗,會因為「碰到太空狗」的時候隕石分身消失,造成沒有判斷碰撞的情形,所以將判斷放在隕石角色會比較簡單好處理。
範例解答:閃躲隕石
如果已經熟悉了閃躲隕石的原理,還可以嘗試更多好玩的作法:
改成碰到隕石,太空狗會扣血量,扣完了就會出現 Game Over 的背景。( 解答 )
大家好,我是 OXXO,是個即將邁入中年的斜槓青年,如果對我有點興趣(笑,可以與我聯繫,一起來做點有玩又有創意的東西吧!