第十三課-飛機大戰游戲
- 學習目標
這節課我們做一款大家都愛玩的飛機大戰游戲,學習重點:
- 如何導入外部角色
- 如何讓飛機發射子彈
- 鼠標控制角色移動
- 程序設計
程序分析?:?飛機大戰游戲相信很多小朋友都玩過,我方飛機在下方,通過鼠標控制移動,并且自動向上發射子彈,而敵機從舞臺上方垂直下落,我們的目標就是不停消滅敵機,同時要躲開敵機。
- 角色設計:這節課需要的素材有我方飛機、敵機、子彈,飛機的造型很難繪制,所以我們可以直接從網上搜索下,導入造型即可。導入功能如下圖?:
選擇我們剛才找的飛機及其他素材,就可以在我們角色區域顯示了!
- 首先對我方飛機編程,我方飛機是通過鼠標控制,鼠標到哪里,飛機到哪里,并且自動發射子彈。
鼠標控制角色移動,首先明確是一直跟隨鼠標,所以肯定需要重復執行指令的,那跟隨鼠標呢?可以用運動模塊里的,下拉找到”鼠標指針“,看看下面的代碼,是不是很簡單!
當飛機移動的時候會一直發射子彈,大家想想!只有一個子彈造型,如何產生很多子彈呢?克隆體!可以通過克隆功能讓子彈有無數個。現在分析下子彈發射的流程,子彈是從飛機上發射,向上垂直發射,當碰到舞臺邊緣消失,碰到敵機也消失。
首先我們先讓子彈每間隔0.1秒克隆一個。代碼實現為?:
克隆體本體隱藏,克隆體顯示。子彈向上移動,是Y坐標增加。
測試下!發現子彈并沒有從飛機上發射,換句話說克隆出來的子彈應該從飛機上開始移動!這個指令剛剛用過,我們可以讓飛機移到鼠標上,是不是也可以讓子彈移到飛機上?
現在測試下,是不是就移到飛機上了!
子彈碰到舞臺邊緣消失,這里就不講了。有個地方注意下,子彈碰到舞臺邊緣不能使用外觀的功能,而是需要使用控制里的
功能,因為子彈是克隆體產生的,克隆體的最大數量是300個,隱藏功能只是我們看不到,但是還是存在的,而刪除克隆體,產生的克隆體總數就減少一個。
- 敵機的實現:敵機的效果為從舞臺上方往下走,碰到子彈消失,而碰到舞臺下邊緣則消失。它的運行軌跡和實現方式和子彈有些類似,只是出發點和移動方向不同而已。這里只給思路就不給代碼了,大家自己嘗試下:
- 敵機每個一段時間克隆!注意時間不能太小,否則敵機太多了!
- 克隆體的敵機從舞臺上方出來,坐標Y=180,而X坐標是一個區間的隨機數(這部分代碼我們前面課程有)
- 敵機從上方往下方走!Y坐標如何變化?
- 當碰到舞臺下方邊緣,消失?碰到下方如何判斷呢,是碰到舞臺邊緣還是小于Y坐標的值?敵機是克隆體,隱藏的話需要哪個指令?
以上4給注意事項,仔細想想,相信都能做出來的。
- 當子彈碰到敵機,敵機消失,同時我們要加積分,這里需要強調的是,當兩個角色碰撞后,需要更改變量值的時候,注意:其中一個角色一定要隱藏掉,否則變量會一直變化!那到底給哪個角色編程來判斷呢?誰消失給誰編程。這節課是敵機消失,所以給敵機編程,如果碰到子彈,敵機消失,同時加積分!
今天的課程就到這里了,是不是感覺很簡單啊!
嘗試完善這個游戲,改造成兩個人同時玩!看看咋改造呢?