使用Unity3D制作Flappy Bird

引言

相信大家一定有玩過一款曾經(jīng)風(fēng)靡一時(shí)的手游《Flappy Bird》,這款游戲以“手殘克星”而著稱,卻又讓人停不下來。

今天我將介紹如何使用Unity3D制作這款游戲

素材準(zhǔn)備

首先我們需要準(zhǔn)備游戲中需要使用到的素材,主要是圖片和聲音文件

1.png

使用Unity3D制作Flappy Bird的圖2

圖片素材

2.png

使用Unity3D制作Flappy Bird的圖4聲音文件

在收集了基礎(chǔ)素材之后,還需要將基礎(chǔ)素材轉(zhuǎn)換為Unity材質(zhì)

3.png

使用Unity3D制作Flappy Bird的圖6Unity材質(zhì)球

除了text之外,剩下的材質(zhì)球需要設(shè)置模式為Unlit/Transparent

4.png

使用Unity3D制作Flappy Bird的圖8搭建基本場景

現(xiàn)在有了基本的素材,我們需要搭建一個(gè)基本的場景。

5.png

使用Unity3D制作Flappy Bird的圖10

這里我創(chuàng)建了兩個(gè)場景,分別是Android和PC。沒錯(cuò),Unity可以使用同一份代碼生成多個(gè)端的發(fā)布版本。這里我們開發(fā)Android版本。

首先,我們需要準(zhǔn)備幾個(gè)基本的prefab, prefab就是Unity中的預(yù)制組件。我們使用prefab來簡化工程模型。

建立Prefab-bg

6.png

使用Unity3D制作Flappy Bird的圖12這就是一個(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è)小鳥

7.png

使用Unity3D制作Flappy Bird的圖14小鳥的組成主要就是貼圖,碰撞體,同時(shí)綁定了bird_a作為控制代碼。

我們把bg和bird放到舞臺(tái)上,添加一個(gè)正交視角的攝像機(jī)作為游戲的主視角,再添加一個(gè)主光源。游戲的基本框架就搭好了。

8.png

使用Unity3D制作Flappy Bird的圖16

9.png

使用Unity3D制作Flappy Bird的圖18編寫游戲的控制代碼

10.png

使用Unity3D制作Flappy Bird的圖20bird_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 

如果您有仿真或編程方面的需求,可以通過微信公眾號找到我們呦~

微信公眾號:320科技工作室

登錄后免費(fèi)查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項(xiàng)目客服
  • 培訓(xùn)客服
  • 平臺(tái)客服

TOP

7