使用Unity3D制作Flappy Bird
引言
相信大家一定有玩過一款曾經(jīng)風(fēng)靡一時(shí)的手游《Flappy Bird》,這款游戲以“手殘克星”而著稱,卻又讓人停不下來。
今天我將介紹如何使用Unity3D制作這款游戲
素材準(zhǔn)備
首先我們需要準(zhǔn)備游戲中需要使用到的素材,主要是圖片和聲音文件
圖片素材
聲音文件
在收集了基礎(chǔ)素材之后,還需要將基礎(chǔ)素材轉(zhuǎn)換為Unity材質(zhì)
Unity材質(zhì)球
除了text之外,剩下的材質(zhì)球需要設(shè)置模式為Unlit/Transparent
搭建基本場景
現(xiàn)在有了基本的素材,我們需要搭建一個(gè)基本的場景。
?
這里我創(chuàng)建了兩個(gè)場景,分別是Android和PC。沒錯(cuò),Unity可以使用同一份代碼生成多個(gè)端的發(fā)布版本。這里我們開發(fā)Android版本。
首先,我們需要準(zhǔn)備幾個(gè)基本的prefab, prefab就是Unity中的預(yù)制組件。我們使用prefab來簡化工程模型。
建立Prefab-bg
這就是一個(gè)基本的bg單元,它由4根管道組成,每兩根管道中間有一個(gè)Trigger(觸發(fā)器),用來檢測玩家通過障礙,以此來記錄分?jǐn)?shù),觸發(fā)渲染后面的管道,管道自身帶有Collider(碰撞體),大小與模型一致。此外還有一個(gè)碰撞體與模型一致的地面。這些組件就構(gòu)成了一個(gè)基本的bg元素。
bg元素在游戲中將被動(dòng)態(tài)加載,只需要調(diào)整4根柱子的高度,就可以組合為連綿不絕的管道游戲地圖。建立Prefab-bird
bird就是我們玩家操控的那個(gè)小鳥
小鳥的組成主要就是貼圖,碰撞體,同時(shí)綁定了bird_a作為控制代碼。
我們把bg和bird放到舞臺(tái)上,添加一個(gè)正交視角的攝像機(jī)作為游戲的主視角,再添加一個(gè)主光源。游戲的基本框架就搭好了。
?
編寫游戲的控制代碼
bird_a讀取按鍵或者鍵盤事件,控制小鳥跳躍
FollowBird 這個(gè)是主攝像機(jī)的綁定事件,控制攝像機(jī)跟著小鳥一起移動(dòng)
GameManager 這個(gè)是Unity保留文件,必須要有的一個(gè)文件,負(fù)責(zé)整個(gè)游戲的主循環(huán)控制
gamemenu 負(fù)責(zé)控制失敗后繼續(xù)的菜單界面
GroundCollision 負(fù)責(zé)控制地面的撞擊事件
ImmediatelyScore 負(fù)責(zé)實(shí)時(shí)更新當(dāng)前分?jǐn)?shù)
MenuAnimation 負(fù)責(zé)菜單展示時(shí)的動(dòng)畫
MoveTriger 負(fù)責(zé)處理管道間的觸發(fā)器
pipe 負(fù)責(zé)在bg生成時(shí)隨機(jī)微調(diào)管道的高度
pipeUpOrDown 小工具 判斷管道是上管道還是下管道
TryAgain 失敗后再來一局
寫完代碼程序,我們的游戲就完成了。
游戲視頻詳見如下鏈接:
鏈接:https://pan.baidu.com/s/1qvdYaMT-ggbMizFG4UHx9A?
提取碼:agia?
如果您有仿真或編程方面的需求,可以通過微信公眾號(hào)找到我們呦~
微信公眾號(hào):320科技工作室
總結(jié)
以上是生活随笔為你收集整理的使用Unity3D制作Flappy Bird的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 伪度量空间
- 下一篇: 软件工程:软件工程过程与方法