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