第十六課-彈珠臺游戲
大家好,今天我們一起做一款彈珠臺scratch游戲,我們也可以叫它彈球游戲!這款游戲在剛出來的時候非常火爆。小朋友們要認真學習下!
- 這節課的學習目標
- 物體碰撞如何處理轉向問題。
- 復習鍵盤對角色的控制方式。
- 逐步了解scratch編程中,游戲設計的邏輯
- 程序設計
程序分析?:?這個游戲實際的角色就3個,兩個擋板,其中一個是我們控制的,另一個是隨機運動的,當然這個我們也可以復制幾個出來,只需要稍微改下坐標即可,另一個就是球了!
游戲玩法也比較簡單,當球碰到控制的板的時候改變方向,碰到其他擋板則加分,碰到上、左、右邊緣則反彈,碰到下方則失敗。。為了區分邊緣,我們在下方邊緣處增加一個角色,當碰到這個角色的時候,則游戲失敗。
下面我們開始安排角色。
- 兩個木板角色,大家可以從角色庫選擇,或者直接繪制就可以了,這個比較簡單(直接使用矩形工具),改變下背景色即可完成多個了。我直接上個效果。
- 球的話直接從素材庫選擇吧,我使用的角色名是“soccer”!
- 設計一個底部角色,在繪制的時候,長度鋪滿舞臺。
下面我們開始編程:
?
- 首先我們先布置下舞臺,布置好的效果如下:
- 然后我們先處理我們能控制的角色,也就是木板,木板控制比較簡單,左右鍵控制左右移動,代碼比較簡單,下面代碼是其中的一種實現方式,大家把兩種控制方式都嘗試下:
- 下面我們來處理球的移動,處理前我們先分析下:球碰到控制的擋板反彈,碰到其他擋板增加積分,其他擋板消失。碰到左右?,上方邊緣則反彈,碰到下面的藍色波浪角色則失敗:
在這里我們要注意下,剛開始的時候,球肯定不能直接往下方移動,否則會造成游戲還沒開始就已經結束了,這里我們采用一個指令:
現在先讓球動起來,球從中心點出發,代碼如下:
下面繼續分析,球碰到我們控制的擋板(角色名:角色1),球要反彈開,這個方向是球進入的方向的折射方向,代碼如下:
??仔細看下代碼,為什么多了一個將Y坐標增加20的指令?小朋友們可以自己體驗下。
碰到底部角色失敗。指令如下:
- 最后就是紅色擋板(角色3)了,角色3在固定高度左右移動,碰到邊緣反彈!
當擋板碰到球(角色2)的時候,消失增加積分,隔1秒后再顯示。
這里我們引入了一個變量score,在游戲剛開始的時候,一定要把score設為0。
以上程序運行后,我們會發現停止后,角色3就出不來了。為了每次游戲開始都讓角色3顯示,需要在開始的時候增加顯示指令,完整代碼如下:
今天這個游戲基本就完成了,小朋友們在編程的時候,可以適當增加些難度。
比如:當積分達到50積分的時候,出現2個球。或者當積分達到一定值的時候,球的速度就增加。大家可以嘗試下,不懂的可以聯系我!
點個關注吧!