日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

使用unity完成简单的打地鼠游戏2D制作

發(fā)布時(shí)間:2023/12/16 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用unity完成简单的打地鼠游戏2D制作 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

使用unity完成簡(jiǎn)單的打地鼠游戲2D制作

一、制作流程

1.創(chuàng)建場(chǎng)景scene(雖然是2D游戲,但制作過程使用2D或3D影響不大,我是用3D來制作的)
2.選中主照相機(jī),把Projectiozn改為Orthographic,Position為(0,0,-10),其他保持默認(rèn)

3.創(chuàng)建文件夾,起名Sprites,將兩張圖片素材拖入

4.分別選中兩個(gè)圖片,將Texture Type更改為Sprite(2D and UI),其他保持默認(rèn)


5.將圖片ground拖進(jìn)場(chǎng)景,將場(chǎng)景可顯示大小更改為圖片大小:1280*752,調(diào)整主照相機(jī)的size為3.76,使圖片填充整個(gè)界面


6.將圖片Hole拖入場(chǎng)景,更改Order in Layer為1,場(chǎng)景內(nèi)新建空物體Map,將ground和Hole拖成其子物體

7.完成界面

8.添加3D的cube,新建文件夾Material,新建材質(zhì),更改貼圖為Gophers,拖到cube上,改名Cube1

9.新建文件夾Scripts,新建腳本S1,用于點(diǎn)擊銷毀

using System.Collections; using System.Collections.Generic; using UnityEngine;public class S1 : MonoBehaviour {// Use this for initializationvoid Start () {}void OnMouseDown(){Debug.Log("Do You Like Me?");Destroy(gameObject);}}

10.新建腳本S2,用于實(shí)現(xiàn)物體轉(zhuǎn)換和銷毀,把其拖給Cube1

using System.Collections; using System.Collections.Generic; using UnityEngine;public class S2 : MonoBehaviour {public GameObject m_Prefab2;// Use this for initializationvoid Start () {}void OnMouseDown(){Instantiate(m_Prefab2, transform.position, Quaternion.identity);Destroy(gameObject);} }

11.新建文件夾Prefabs,再在場(chǎng)景里添加Cube2,創(chuàng)建材質(zhì)mat2,貼圖改為Gophers_beaten,新建腳本S3,用于實(shí)現(xiàn)自動(dòng)銷毀,加在Cube1上

12.將Cube1和Cube2拖拽到Prefabs里面,形成預(yù)制體,在Cube1里面的S2腳本下的Prefab2更改為Cube2

using System.Collections; using System.Collections.Generic; using UnityEngine;public class S3 : MonoBehaviour {// Use this for initializationvoid Start () {Destroy(gameObject,0.8f);}// Update is called once per framevoid Update () {} }

13.新建腳本CreateTarget,用于實(shí)現(xiàn)地鼠在九個(gè)洞里的隨機(jī)定時(shí)出現(xiàn)

using System.Collections; using System.Collections.Generic; using UnityEngine;public class CreateTarget : MonoBehaviour {public GameObject m_Target;// Use this for initializationvoid Start () {//Create();InvokeRepeating("Create", 0, 1);}void Create(){Vector3 pos = Vector3.zero;int id = 0;id = Random.Range(1, 10);if (id == 1){ pos = new Vector3(2.03f, 1.41f, 0);transform.Rotate(0, 90, 0); }if (id == 2)pos = new Vector3(0.04f, 1.41f, 0);if (id == 3)pos = new Vector3(-1.98f, 1.41f, 0);if (id == 4)pos = new Vector3(-1.98f, 0.46f, 0);if (id == 5)pos = new Vector3(0.04f, 0.46f, 0);if (id == 6)pos = new Vector3(2.03f, 0.46f, 0);if (id == 7)pos = new Vector3(-1.98f, -0.58f, 0);if (id == 8)pos = new Vector3(0.04f, -0.58f, 0);if (id == 9)pos = new Vector3(2.03f, -0.58f, 0);Instantiate(m_Target, pos, Quaternion.identity);} }

14.在場(chǎng)景中新建空物體Random,將腳本CreateTarget拖到其上,將Target更改為Cube1

15.新建文件夾AudioSource,將兩個(gè)聲音素材拖入,appear拖給預(yù)制體Cube1,beaten拖給預(yù)制體Cube2


16.分別更改mat1和mat2的Rendering Mode需要更改為cutout,調(diào)整Alpha Cutoff為0.25,去掉白邊

17.按下圖調(diào)整主照相機(jī)的數(shù)值,使其拍攝另一面(或者使用Photoshop將素材圖片Gophers_beaten和Gophers上下顛倒,并存成png格式放入素材文件夾,這是為了讓界面中的地鼠圖像是正的)

18.最后build一下就OK啦

二、重難點(diǎn)

1.因?yàn)榇擞螒驅(qū)儆?D游戲,所有要將主照相機(jī)的Projection改為Orthographic

2.每一個(gè)腳本在正式編寫之前要先試行,以防止編寫完成后不能使用

3.需要調(diào)整界面為圖像的分辨率和大小

4.最后的CreateTarget編寫的時(shí)候,需要用到InvokeRepeating函數(shù),后面的三個(gè)參數(shù)分別是調(diào)用的函數(shù)、起始時(shí)間、時(shí)間間隔

5.需要將不同種類的文件存放在相應(yīng)的文件夾中,方便查看

6.隨機(jī)出現(xiàn)的物體需要事先設(shè)置成預(yù)制體來使用

7.重疊的兩張場(chǎng)景圖片之間存在層級(jí)關(guān)系

8.一開始貼圖看起來是反的,拍攝背面則是正的(或者也可以用ps將原始圖片上下顛倒,但一定要存成png格式,否則白邊依然存在)

9.貼圖的Rendering Mode需要更改為cutoff,不然就會(huì)有白邊

總結(jié)

以上是生活随笔為你收集整理的使用unity完成简单的打地鼠游戏2D制作的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。