国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

這篇具有很好參考價(jià)值的文章主要介紹了【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

主要內(nèi)容:

1.Unity3D引擎中的基礎(chǔ)設(shè)置。

2.2D場(chǎng)景的搭建,預(yù)制體制作。

3.2D動(dòng)畫的制作。

4.圖片圖集的有關(guān)知識(shí)。

5.碰撞器,觸發(fā)器,碰撞檢測(cè)與觸發(fā)檢測(cè)。

6.2D游戲渲染的一些知識(shí)。

7.敵人AI的編寫。

8.UGUI有關(guān)內(nèi)容,場(chǎng)景切換等。

所需資源包鏈接:https://pan.baidu.com/s/199wuwMiucKDQfZR54Skwxg?pwd=a6pa?
提取碼:a6pa

————————————————————開始———————————————————

一、新建項(xiàng)目、導(dǎo)入資源

新建個(gè)2D項(xiàng)目,將所有的圖片貼圖模式改為2D ANDUI

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?二、場(chǎng)景搭建

1.設(shè)置主攝像機(jī):size(離屏幕位置)設(shè)置為8.5

2.Background設(shè)置為黑色游戲顯示

3.窗口設(shè)置為 5:4

4.圖集的加工:導(dǎo)入素材的Texture調(diào)整為Sprite(2D and UI),點(diǎn)擊apply。

5.Sprite Mode:Multiple(圖片的默認(rèn)屬性是single,這代表此圖片在這里視為一個(gè)單獨(dú)的精靈來處理)。

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

5.Sprite Mode:Multiple(圖片的默認(rèn)屬性是single,這代表此圖片在這里視為一個(gè)單獨(dú)的精靈來處理)

切割圖集(需要切割):點(diǎn)擊Sprite Editor——Slice——Automatic ——點(diǎn)擊Slice(調(diào)整大小,獲得尺寸)——Grid By Size(按照固定大小切割)——點(diǎn)擊Slice——自行切割找到合適尺寸,W28H28,將大小填入切割的尺寸即可。

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

三、游戲中預(yù)制體的制作,2D動(dòng)畫的制作

1.Play1拖入Hierarchy面板下

2.Unity開發(fā)以米為單位,將坦克Scale調(diào)整為3,3,3。改名為Player

3.在Project面板下,新建文件夾Prefabs存放預(yù)制體,拖入Player

4.再把Map下的石頭、墻、水、草等拖入Hierachy面板下

5.解決每個(gè)圖片都要調(diào)整大小問題:Sprite Render組件下的Sprite控制顯示的圖片,Ctrl+D復(fù)制幾個(gè)一樣的物體,再拖入圖片到Sprite下。

?【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?

6.創(chuàng)建存放動(dòng)畫和存放動(dòng)畫控制器的文件夾Animation和AnimatorControllerBorn

2D動(dòng)畫:鼠標(biāo)單擊選擇第一張圖片按住Shift選擇最后一張圖片,拖入Hierarchy面板下,彈出窗口命名動(dòng)畫名字,命名為Born,Hierarchy面板下改名為Born。大小調(diào)整為3,3 ,3

?【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

7.創(chuàng)建存放動(dòng)畫和存放動(dòng)畫控制器的文件夾Animation和AnimatorControllerBorn

2D動(dòng)畫:鼠標(biāo)單擊選擇第一張圖片按住Shift選擇最后一張圖片,拖入Hierarchy面板下,彈出窗口命名動(dòng)畫名字,命名為Born,Hierarchy面板下改名為Born。大小調(diào)整為3,3 ,3。控制器改名為BornController,與動(dòng)畫分別拖入相應(yīng)文件夾下。

在預(yù)制體Prefabs文件夾下創(chuàng)建Map文件夾存放地圖和Effect特效文件夾

同理,創(chuàng)建爆炸特效Boom和無敵效果Born2,河流Water取消顯示攝像機(jī)Gizmos,叉掉Camera旁邊的攝像機(jī)

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?四、控制玩家的移動(dòng)(Player腳本)

?1.創(chuàng)建新的文件夾Script,存放所有的腳本。

?2.創(chuàng)建(Player)腳本,添加在玩家坦克身上

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

3.控制游戲物體移動(dòng),在Update函數(shù)中后面因碰撞抖動(dòng)問題需要改在FixedUpdate函數(shù)中,

?【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?四、控制玩家的移動(dòng)-不同方向移動(dòng)的圖片切換(Player腳本)

1.拿到Sprite組件,更改它的屬性值【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

2.拿到渲染器的引用:【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?3.在Awake函數(shù)中(一開始就拿到),Start函數(shù)之前【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

4.拿到切換圖片的引用:【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)并在Unity中分別把對(duì)應(yīng)圖片拖入

?【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?五、碰撞器的添加,解決坦克旋轉(zhuǎn)、抖動(dòng)問題

1.發(fā)生碰撞的物體身上都應(yīng)該有碰撞器,其中一方(最好是運(yùn)動(dòng)的一方)身上要有剛體。

給Player游戲物體添加Box Collider 2D(2D游戲碰撞器)和剛體Rigibody 2D,將重力改為0【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?2.Map里所有的物體添加Box Collider 2D(2D游戲碰撞器),草不用,因?yàn)椴菘梢酝ㄟ^

3.解決旋轉(zhuǎn)問題:選擇Player游戲物體,在Rigibody 2D下的Constraints勾選上z軸

?【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

4.解決抖動(dòng)問題:Unity內(nèi)置的生命周期函數(shù)(固定物理幀)

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)?

六、移動(dòng)優(yōu)先級(jí)的添加,2D渲染層級(jí)問題(Player腳本)

1.解決同時(shí)按兩個(gè)鍵,斜著走的問題。垂直優(yōu)先。先確定V

?【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?2.然后把控制移動(dòng)的代碼封裝成一個(gè)方法,在FixedUpdate中調(diào)用

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?

3.渲染的優(yōu)先級(jí):Order in Layer層級(jí)越大,越后渲染。Born、Grass設(shè)置為1

4.?添加子彈,層級(jí)設(shè)置為1,拖入Tank文件夾下做成預(yù)制體。爆炸特效層級(jí)也設(shè)置為1

?【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?七、坦克的攻擊方法及子彈朝向(Player腳本)

1.拿到子彈預(yù)制體的引用,定義子彈旋轉(zhuǎn)角度

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

2.當(dāng)按下空格的時(shí)候?qū)嵗粋€(gè)子彈

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

3.彈朝向問題的解決,移動(dòng)方法的編寫。旋轉(zhuǎn)圖片——旋轉(zhuǎn)Z軸

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

八、子彈移動(dòng)腳本,攻擊CD的加入

1.創(chuàng)建子彈的腳本(BulletFly),在Update里面設(shè)置子彈移動(dòng)

?【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?

2.設(shè)置子彈CD(Player腳本)
設(shè)置計(jì)時(shí)器 同時(shí)將子彈實(shí)例化的方法中加入【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)使得每次射擊后時(shí)間歸零

?【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

3.給子彈添加觸發(fā)器,給子彈添加Rigidbody2D,重力設(shè)置為0。

?【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?九、空氣墻的制作,標(biāo)簽的添加

1.找到不可通過及消滅的巖石,將其貼圖刪除即可成為空氣墻

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

2.給每個(gè)預(yù)制體添加對(duì)應(yīng)的Tag(標(biāo)簽)【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

3.在(BulletFly腳本)添加完善碰撞檢測(cè)

?【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?十、玩家無敵方法與死亡方法的編寫(Player腳本)

1.聲明爆炸特效、保護(hù)特效、是否復(fù)活、無敵時(shí)間【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

2. 坦克死亡方法

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?3. 坦克無敵方法

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?4.將無敵特效放置為坦克的子物體,并將其渲染層級(jí)改為-1【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?十一、區(qū)別玩家的子彈與敵人的子彈

?1.在(BulletFly腳本)中加入判斷語(yǔ)句,是否為玩家子彈

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

2.為玩家坦克生成子彈的時(shí)候添加一條語(yǔ)句(Player腳本)

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

十二、制作玩家出生特效(Born腳本)

1.新增Born腳本用于玩家的初始生成

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

2.在Unity中將玩家坦克預(yù)制體拖入【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?十三、敵人出生特效(Born腳本)

用同樣的產(chǎn)生特效隨機(jī)生成兩種敵人,改寫B(tài)orn腳本代碼,并在Unity中拖入制作好的兩種敵人預(yù)制體

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?十四、敵人AI的編寫(Enemy腳本)

1.新建(Enemy腳本)編寫敵人自動(dòng)攻擊和移動(dòng)的代碼,將Player腳本復(fù)制進(jìn)去,并進(jìn)行修改。

修改攻擊方法,不需要摁下空格鍵攻擊,會(huì)自動(dòng)攻擊

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

2.修改移動(dòng)方法?

?【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?十五、在地圖上生成不同元素(MapCreation腳本)

1.新建個(gè)空物體命名“MapController”,賦予新腳本“MapCreation”.

2.使用數(shù)組存放所有元素,在Unity中拖放好

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)?

3. 寫一個(gè)實(shí)例化物體的方法(可以將實(shí)例化出的物體作為子物體放置在腳本所在物體下)

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?4.找好老家的位置,空氣墻的位置,通過封裝好的實(shí)例化物體的方法進(jìn)行實(shí)例化【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?5.在隨機(jī)產(chǎn)生墻、水、敵人、障礙、草的物體時(shí),需要采用數(shù)組來記錄已經(jīng)使用過的位置,防止一個(gè)位置上實(shí)例化兩個(gè)物體【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

6.寫一個(gè)隨機(jī)產(chǎn)生位置的方法

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

7.判斷位置列表中是否有與產(chǎn)生位置重復(fù)【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?8.實(shí)例化游戲中的元素、玩家、敵人【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

十六、玩家重生、得分(PlayerController腳本)

?1.新建腳本“PlayerController”,實(shí)例化instance

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?2.Ctrl+R+E可快速部署【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?3.實(shí)例化單例【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?4.聲明生命值、得分、是否死亡【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?5.重生的方法(若生命值0返回開始界面)【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?6.在Update中調(diào)用重生方法【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?7.若玩家死亡在“Player腳本”中,找到死亡方法,添加調(diào)用isDead的屬性值

?【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?8.若敵方死亡在“Enemy腳本”中,找到死亡方法,添加調(diào)用Score的屬性值【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?十七、UI制作

1.將資源中的?【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)作為5:4背景底色,將主攝像機(jī)的顏色調(diào)為灰色

2.游戲窗口比例設(shè)為16:10

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

3.使用Image、Text制作得分和生命值【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

4.(PlayerManager腳本)公開兩個(gè)文本屬性,在Unity中賦值【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?5.在Update中讓文本隨得分和生命值變化【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?6.在Unity中制作游戲失敗的圖片并賦值?【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?7.在Update中顯示游戲失敗,并暫停運(yùn)行【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)

?————————————————具體開發(fā)流程結(jié)束——————————————————

游戲內(nèi)圖

【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)文章來源地址http://www.zghlxwxcb.cn/news/detail-458937.html

到了這里,關(guān)于【經(jīng)典游戲】坦克大戰(zhàn) Unity2D項(xiàng)目實(shí)戰(zhàn)(保姆級(jí)教程)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包