1. 程式人生 > >Scratch遊戲製作 打彈球遊戲

Scratch遊戲製作 打彈球遊戲

https://www.kidscoding8.com/54578.html

打彈球遊戲

 

“嘭!”一顆彈球碰到擋板,迅速地反彈起來,撞向空中的磚塊!這就是打彈球遊戲的畫面,那跳動的彈球、左右移動的擋板,讓我們樂在其中。今天我們就一起來利用Scratch軟體,做一個簡化版的打彈球遊戲——反彈球!

一、我們的目標

(1)理解碰撞檢測技術的使用方法。

(2)掌握角色座標與滑鼠座標的關聯方法。

二、我們的任務

1.劇本設計

主題:“會反彈”的小球

舞臺:草地

角色:小球、反彈板

故事:小球和反彈板在草地上玩遊戲,小球碰到邊緣就會反彈,落向地面時,反彈板會跟隨滑鼠指標快速地左右移動,將小球反彈起來。如果小球掉到地上,遊戲就結束啦,如圖1所示。

打彈球遊戲

圖1 介面設計

2.程式設計

打彈球遊戲

 

三、我們的活動

1.新建背景

從“背景庫”中選擇“戶外”主題中的你喜歡的圖片,作為新舞臺背景。

2.新建角色

(1)新增角色

從“角色庫”中選擇“運動”分類中的球型圖片或自己繪製一個球,作為新角色。適當調整球的大小,放置在舞臺中間。我們可以將角色名稱改為“小球”。

(2)繪製角色

如圖2所示,單擊“繪製新角色”按鈕,開啟“繪圖編輯器”。

打彈球遊戲

圖2 開啟“繪圖編輯器”

這時,可以利用“繪圖編輯器”繪製“反彈板”角色,如圖3所示。角色繪製好後,我們還需要調整它在“舞臺區”中的位置,並且將它的名稱改為“反彈板”。

打彈球遊戲

圖3  繪製反彈板

Tips

在開始繪製造型之前,先將檢視調整為100%,以檢視的中心點為原點繪製造型,以便精確定位角色在舞臺中的座標。

3.搭建程式

(1)反彈板角色程式

根據劇本的要求,我們發現,反彈板能夠跟隨滑鼠的指標左右移動。通過“動作”模組中的和“偵測”模組中的組合指令來設定反彈板的x座標,如圖4所示。

打彈球遊戲

圖4  反彈板程式

Tips

我們把設定反彈板x座標的動作放在重複執行的指令中,是為了不斷地捕捉滑鼠的x座標值,及時更新反彈板的x座標。想一想,如果沒有這個迴圈結構,“反彈板”能否跟隨滑鼠指標移動?

(2)小球角色程式

為了能夠實現劇本故事的創意效果,我們首先對小球角色的運動軌跡進行分析,小球角色的運動方式分為三種。

①起始運動方式:小球角色每次從“舞臺區”的中心點處開始,在-70度70度之間隨機選擇一個角度後做直線運動;

②“碰到邊緣反彈”運動方式:這種運動方式由系統自動處理,小球碰到“邊緣”就會自然反彈;

③碰到“反彈板”後的運動方式:當小球遇到反彈板後,就會以一個設定的隨機角度進行反彈。具體程式可以參考圖5所示的程式。

其實,“反彈”效果的方式還有幾種方式,我們可以將“起始運動”與“反彈運動”兩種方式進行個性的設計與創意。如將“起始運動”方式改為自由向下或以一定角度向下的方式做直線運動;將“反彈運動”也改為以“碰到邊緣”方式運動等。

打彈球遊戲

圖5  小球程式

另外,在“偵測”模組中一共有三個碰撞指令,都是用作分支結構中的條件。

為了讓程式有理想的執行效果,我們還可以不斷地對程式進行修改與除錯。同時,也不要忘記對程式進行儲存與分享哦!

四、我們的探索

(1)如果讓小球發生碰撞時加入音效,是不是更酷呢?(見下面的附圖程式)

(2)在舞臺上部加入1個或多個磚塊,小球碰到磚塊時,磚塊消失,同時生成新的磚塊。

(3)設計一個計分系統,將小球碰撞反彈板一次加一分;或者打磚塊計分。隨著分數的增加,怎樣讓球的運動速度變快呢?

(4)能否將滑鼠控制改為鍵盤控制呢?

(5)能否設計成兩人對戰的模式呢(提示:類似的,在舞臺上方放置第二塊擋板,改為用鍵盤控制擋板的移動,並增加計分系統)

(6)你能做到將小球的運動軌跡繪製出來嗎?

你還有更好的點子嗎?(附上一個簡單版的程式,包含了音效、打磚塊、計分、運動軌跡,程式還不是很完善,你能將其完善嗎?)

打彈球遊戲

附圖1 球的程式

打彈球遊戲

附圖2 磚塊的程式

如果本文對您有幫助,請推薦給您的朋友,您的支援就是我的動力~