Unity3D基礎(chǔ)項目(二):憤怒的小飛龍

針對17-23學(xué)習(xí)章節(jié)的練習(xí)

1、導(dǎo)入資源,修改分辨率1280*800
2、選擇圖片,修改圖片類型,設(shè)置尺寸和它的壓縮格式
Image.png
3、選擇壓縮,當(dāng)我們圖片資源比較多的時候,會選擇第一個壓縮方式
Image.png
4、修改攝像機與坐標(biāo)

@1設(shè)置相機--做2D游戲要將攝像機改為正交模式

Image.png

@2將坐標(biāo)系改成Iso格式

Image.png
5、添加Quad,重置坐標(biāo)系,同時改名bg,作為背景
6、給Quad添加材質(zhì)球,Transparent是顯示透明圖片的
Image.png
7、同理添加所有的UI,材質(zhì),面板等(添加所有的素材)
Image.png
8、我們一個面板只有兩對障礙物,做好一對后,再復(fù)制一對
Image.png

創(chuàng)建好的上下障礙物扔進pipe中。并設(shè)置好他的z軸方向

Image.png
9.創(chuàng)建小飛龍
Image.png

9.1-顯示他的動畫呢?

Image.png

接下來通過代碼實現(xiàn):

Image.png
10.動畫最終效果:
000.gif

同時:設(shè)置小飛龍?zhí)砑觿傮w組件,讓其收到物理引擎影響。

Image.png

修改障礙的隨機生成值


Paste_Image.png
0001.gif
10.1可以給小飛龍設(shè)置一個外力(AddForce),或者速度(Transform.translate)

關(guān)于這個力的解釋:
velocity直接修改物體的速度,無視各種外力
addforce直接模仿物理受力了,給物體施加一個力,也會收到其他力的作用


Image.png
11.在Unity3D開發(fā)中,只有通過碰撞器,才能產(chǎn)生碰撞事件

所以,給障礙物添加碰撞體-BoxCollider,給地面添加碰撞體。
Player


Image.png

Pipe


再將制作好的背景添加為預(yù)制物

12、使用管理器來管理游戲的所有的其他信息
011.png
由于我們的面板是循環(huán)利用,所以可以通過移動觸發(fā)器上面的碰撞器的OnTriggerEnter方法判斷游戲?qū)ο笫欠襁M入一個合適的位置,來調(diào)整面板是否可以重用了。

腳本一覽:


Paste_Image.png

為了讓重用的面板上的障礙物不同,可以拿到腳本調(diào)用其中的方法體

Image.png
13、添加用戶反應(yīng)背景:

跟上面面板保持一致就可以,不需要障礙物

Image.png
14、監(jiān)聽用戶輸入

重置游戲?qū)ο蟮某跏妓俣?/p>

Image.png
15、將相機扔進角色中

通過玩耍我們發(fā)現(xiàn)角色在撞擊到碰撞器后,導(dǎo)致攝像機翻轉(zhuǎn),眩暈感便如此而來

Image.png

所以添加腳本,來控制攝像機。扔進攝像機,取到相對的坐標(biāo)值就可以進行開發(fā)了。

Image.png
16、積分操作:

首先添加碰撞器,其次設(shè)置為觸發(fā)器


Image.png
Image.png

相應(yīng)的pipe代碼:


Image.png

設(shè)置完后,最好將所有的預(yù)制物Apply一下

Image.png
17、設(shè)置游戲狀態(tài)

方便進行相應(yīng)的控制:


Image.png

剛開始,游戲?qū)ο蟛皇芪锢硇Ч?,去掉受重力影響的開關(guān)

Image.png
18、根據(jù)狀態(tài)來切換相應(yīng)的場景

一開始我們的畫面應(yīng)該是不動的。

JU4REFVG61Q_OLQ%PNJZ_EX.png
4I8)}BJQHLBC8U1AZQ$15ZL.png

給障礙物添加剛體碰撞檢測

(1FQKAD9`KFJ`IO(C9D1(~X.png
19、添加聲音組件
20、游戲菜單面板制作
TA4Q{ZDS262{){)BBUE1YTQ.png

使用空物體將面板內(nèi)容保存起來,作用于Panal一致
![G]TGM30IKL}}_AS6G)7Q6)F.png](http://upload-images.jianshu.io/upload_images/642887-cbd24fff0f3c6873.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

制作管理器,來管理面板的顯示與否

UE@LN(9)IZR567SNJ1$@_PN.png
T1_D)IQA{`(CN4U5XXQ~W_Y.png

碰撞到障礙物,就將狀態(tài)改為結(jié)束。
![M]T5PC%8TYOA{BY%ILSW4~W.png](http://upload-images.jianshu.io/upload_images/642887-449b249fc1dc0b43.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

21、分?jǐn)?shù)保存
OB}VMRF2@W2Y@9~M$%D_`@X.png

在游戲管理器中直接傳遞分?jǐn)?shù)過去。
![]2F30JU5IM14%NMIF.png](http://upload-images.jianshu.io/upload_images/642887-e9736c037ff0e050.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

22、重新開始按鈕設(shè)置

這里無非就是判斷當(dāng)期游戲狀態(tài) == GameState_END

![408RF@8W9100YB5R7]}847D.png](http://upload-images.jianshu.io/upload_images/642887-be3bf4f255093c5b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

23、結(jié)束語

項目雖然簡單,但是要學(xué)習(xí)的東西還需要繼續(xù)學(xué)習(xí)。感謝泰斗社區(qū)管理員提供視頻教學(xué),素材來源,要感謝UI學(xué)院的余老師以及他的學(xué)生們!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容