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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

编程问答

Unity学习笔记------用Unity2D制作打地鼠游戏

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

制作思路


  • 搭建打地鼠游戲場(chǎng)景
  • 新建游戲交互對(duì)象“地鼠”
  • 設(shè)置游戲規(guī)則:
  • “地鼠”被打到時(shí)(受到鼠標(biāo)點(diǎn)擊)消失

    同時(shí)在原有“地鼠”位置出現(xiàn)新對(duì)象“死地鼠”并在規(guī)定時(shí)間內(nèi)消失

    未受到點(diǎn)擊的“地鼠”在指定時(shí)間內(nèi)自動(dòng)消失

    “地鼠”能在相同時(shí)間間隔內(nèi)隨機(jī)產(chǎn)生

  • 添加游戲相關(guān)的音樂(lè)和音效

  • 制作步驟


    搭建打地鼠游戲場(chǎng)景

  • 搭建2D場(chǎng)景
  • 確認(rèn)相機(jī)參數(shù)Projection的選項(xiàng)為Orithographic
  • 新建文件夾Sprites用來(lái)存放圖片素材,并導(dǎo)入背景素材
    (這里導(dǎo)入的背景圖片可以自行在網(wǎng)上搜索,由一個(gè)大的背景圖片.jpg(ground)和一個(gè)有α通道的地鼠洞圖片.png(hole)組成)
  • 對(duì)兩個(gè)素材進(jìn)行相關(guān)的調(diào)整:
    選中圖片,打開(kāi)inspector面板,參數(shù)如下圖所示
    Texture Type:Sprite(2D and UI)
    Sprite Mode:Single
    Pixels Per Unit:100 【每個(gè)像素點(diǎn)個(gè)數(shù)為100】
    關(guān)掉【自動(dòng)生成小地圖】的選項(xiàng)Generate Mip Map(一般情況下為未勾選狀態(tài))
  • 將背景圖片ground拖拽進(jìn)窗口,根據(jù)背景圖片的大小修改Game窗口分辨率為新增分辨率,并用Scale調(diào)整大小
    調(diào)整攝像機(jī)大小Size(可以使用鼠標(biāo)拖拽調(diào)整或者用公式【高度除以2除以每單位像素?cái)?shù)100調(diào)整數(shù)值修改)
  • 將hole也拖拽進(jìn)屏幕,調(diào)整位置,新建空物體Map做容器放置ground和hole
    注意此處要確保他們的參數(shù)Order in layer 層級(jí)關(guān)系:hole為1層,ground為0層
    使得hole放置在ground上面而不至于被遮擋不可見(jiàn)

    保存場(chǎng)景
  • Ps:此處有一些出入。如果我們有相匹配的“地鼠”的3D模型和材質(zhì),可以使用3D模型制作。不過(guò)由于我沒(méi)有找到相關(guān)的素材,而恰巧我們此次制作為2D游戲,所以可以采取給圖片即2D對(duì)象添加碰撞器的做法,如下。

  • 將“地鼠”素材圖片.png導(dǎo)入,拖拽入Scene面板,重置,并給它添加一個(gè)box 2D的碰撞器。
    同理制作對(duì)象“死地鼠”,并將該對(duì)象拖拽為預(yù)制體。
    如果光線較暗的話可以添加Directional light平行光
    攝影機(jī)設(shè)置Clear Flags項(xiàng)選項(xiàng)為Solid Color,顏色改為黑色,如圖所示。
  • 創(chuàng)建腳本S1,代碼如下
  • void OnMouseDown() {Destroy(gameObject); //點(diǎn)擊銷(xiāo)毀對(duì)象“地鼠”}

    使對(duì)象“地鼠”在受到鼠標(biāo)點(diǎn)擊時(shí)自動(dòng)銷(xiāo)毀
    將腳本加到對(duì)象“地鼠”上

  • 繼續(xù)編寫(xiě)S1腳本,實(shí)現(xiàn)點(diǎn)擊“地鼠”后,“地鼠”變?yōu)椤八赖厥蟆钡男Ч?br /> 首先定義預(yù)制體“死地鼠”對(duì)象
  • public GameObject m_prefab2; //引用“死地鼠”對(duì)象

    然后在銷(xiāo)毀對(duì)象“地鼠”前實(shí)例化對(duì)象“死地鼠”

    Instantiate(m_prefab2, transform.position, Quaternion.identity); //實(shí)例化生成 “死地鼠”,位置為當(dāng)前【點(diǎn)擊“地鼠”】的原位置,旋轉(zhuǎn)角度為任意值

    注意:要先生成,再銷(xiāo)毀。因?yàn)樵谶壿嬌蟻?lái)講如果對(duì)象已經(jīng)被銷(xiāo)毀而不存在,那么所在位置則有可能出現(xiàn)錯(cuò)誤。
    注意腳本寫(xiě)好以后將“死地鼠”的預(yù)制體拖拽給“地鼠”對(duì)象身上的腳本S1的m_prefab2

  • 新建S2腳本給“死地鼠”,(也可以直接Add Component腳本S2取代拖拽)
  • void Start () {Destroy(gameObject, 0.5f); }

    使對(duì)象“死地鼠”在出現(xiàn)0.5秒以后自動(dòng)銷(xiāo)毀

    同理可以應(yīng)用在S1腳本中,使對(duì)象“地鼠”在始終沒(méi)有受到點(diǎn)擊時(shí)出現(xiàn)3秒后自動(dòng)銷(xiāo)毀
    保存場(chǎng)景

  • 新建空物體命名為GreateTarget,并給他添加腳本CreateTarget,實(shí)現(xiàn)對(duì)象的自動(dòng)隨機(jī)生成,代碼如下
  • public GameObject m_Target; //引用對(duì)象“地鼠”

    InvokeRepeating函數(shù)可以在制定間隔調(diào)用指定函數(shù),實(shí)現(xiàn)Create函數(shù)的重復(fù)調(diào)用,即實(shí)現(xiàn)“地鼠”對(duì)象的重復(fù)生成

    void Start() {InvokeRepeating("Create", 0, 1);//該調(diào)用函數(shù)為Create,等待時(shí)間為0(密集運(yùn)行),間隔為1s//每指定間隔調(diào)用生成一次函數(shù) }

    Create函數(shù)實(shí)現(xiàn)地鼠的實(shí)例化生成以及隨機(jī)出現(xiàn)

    首先定義位置變量pos,然后產(chǎn)生隨機(jī)的id值,再使用if函數(shù)根據(jù)隨機(jī)產(chǎn)生的id值確定pos的值即對(duì)象實(shí)例化的位置,最后Instantiate函數(shù)進(jìn)行對(duì)象的實(shí)例化

    void Create() {Vector3 pos = Vector3.zero; //初始化建立位置變量int id= 0;id = Random.Range(1,10); //在1~9的9個(gè)數(shù)中隨機(jī)產(chǎn)生一個(gè)數(shù)值if (id== 1)pos = new Vector3(0, 0, 0);if (id== 2)pos = new Vector3(2, 0, 0);if (id== 3)pos = new Vector3(-2, 0, 0);if (id== 4)pos = new Vector3(0, 1, 0);if (id== 5)pos = new Vector3(2, 1, 0);if (id== 6)pos = new Vector3(-2, 1, 0);if (id== 7)pos = new Vector3(0, -1, 0);if (id== 8)pos = new Vector3(2, -1, 0);if (id== 9)pos = new Vector3(-2, -1, 0);Instantiate(m_Target, pos, Quaternion.identity); //實(shí)例化對(duì)象}
  • 此時(shí)功能基本實(shí)現(xiàn)完全,最后給兩個(gè)對(duì)象添加Audio Source組件,導(dǎo)入出現(xiàn)和擊中地鼠的音效并對(duì)應(yīng)添加音效
  • 運(yùn)行游戲,對(duì)時(shí)間間隔等數(shù)值進(jìn)行適當(dāng)?shù)恼{(diào)整,并保存工程

  • 出現(xiàn)的問(wèn)題及解決方法


  • “地鼠”對(duì)象模型問(wèn)題。因?yàn)闆](méi)有現(xiàn)成的地鼠模型,如果直接把貼圖貼給3d cube的話形狀不匹配而且是倒著的
  • 解決過(guò)程:但我想到之前講到的3D對(duì)象和2D對(duì)象的不同在于2D對(duì)象需要手動(dòng)添加碰撞器。而此次游戲剛好是一個(gè)2D游戲,所以我猜想如果給2D的圖片添加碰撞器是否可以在游戲中實(shí)現(xiàn)需要的對(duì)象效果。嘗試成功。

  • 但是2D的“地鼠”對(duì)象偶爾會(huì)出現(xiàn)“隱身”的情況,只能看到邊框而看不到圖片內(nèi)容。
  • 解決過(guò)程:我搜索了2D對(duì)象看不到的原因,但是沒(méi)有找到解決辦法。無(wú)奈之下我刪除原來(lái)制作好的對(duì)象并重新導(dǎo)入圖片做了一遍,對(duì)象就又是可見(jiàn)的了。我猜想這可能是因?yàn)檐浖姆€(wěn)定性等等原因造成的。


    收獲


  • 學(xué)到了平面圖形可以添加碰撞器,從而在2D游戲中達(dá)到和3D對(duì)象同樣的效果
  • 學(xué)習(xí)了一個(gè)新的函數(shù)InvokeRepeating(“函數(shù)名”,等待時(shí)間,調(diào)用時(shí)間間隔),可以在每指定時(shí)間間隔調(diào)用生成一次函數(shù)。
    之前學(xué)習(xí)unity3D時(shí)有學(xué)過(guò)一個(gè)類似功能的函數(shù)叫攜程函數(shù),不過(guò)實(shí)現(xiàn)的功能更加全面,可以設(shè)置多個(gè)時(shí)間間隔,從而體現(xiàn)出關(guān)卡的效果。
  • 第一次接觸到設(shè)置對(duì)象自動(dòng)銷(xiāo)毀時(shí)間的方法,Destory(gameObject,銷(xiāo)毀時(shí)間)。
    就是不知道這些用在Unity2D游戲里的函數(shù)能不能同樣在Unity3D游戲中使用,不過(guò)理論上應(yīng)該是可以的。
  • 學(xué)習(xí)到制作一個(gè)游戲的過(guò)程是把每一個(gè)想要實(shí)現(xiàn)的功能細(xì)化到最小的指令,然后用代碼一一對(duì)應(yīng)實(shí)現(xiàn)。

  • 總結(jié)

    以上是生活随笔為你收集整理的Unity学习笔记------用Unity2D制作打地鼠游戏的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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

    主站蜘蛛池模板: 福利在线影院 | 九色porn蝌蚪 | 佐山爱在线视频 | 色婷婷国产精品综合在线观看 | 影音先锋在线看 | 在线看黄色网址 | 国产女人18毛片水真多1 | 日韩成人在线视频观看 | 免费黄网站在线 | 人人干网站 | 婷婷爱爱 | 美日韩三级 | 国产亚洲精久久久久久无码苍井空 | 一级二级毛片 | 亚洲成人伦理 | 久久新 | 色老头一区二区三区 | 性生活视频网站 | 日韩久久久久久久久久久 | 四虎8848精品成人免费网站 | xxxxxx国产| 五月天婷婷视频 | 精品欧美一区二区在线观看 | 免费网站黄色 | 一级一片免费播放 | 少妇久久久久久 | 日韩综合在线 | 日本理论片午伦夜理片在线观看 | www国产在线观看 | 91狠狠干| 国产欧美一区二区三区沐欲 | 精品人妻少妇嫩草av无码专区 | 美女撒尿无遮挡网站 | 激情av中文字幕 | 国产精品天天看 | 日韩不卡高清 | 五十路在线 | 男女网站在线观看 | 伊人免费在线 | 天天操女人 | 红桃视频一区二区三区免费 | 三级免费 | 99综合| 国产精品丝袜视频 | 日本青青草 | 成人1区2区3区 | 国产片免费 | 麻豆成人在线观看 | 亚洲精品电影 | 成年人黄色一级片 | 国产剧情久久久 | 麻豆视频网站在线观看 | 韩国三级在线 | 四虎影库在线播放 | 亚洲欧美小视频 | 国产精品久久久久久久久久久免费看 | 一级特级片 | 日批视频免费在线观看 | 三级在线国产 | 日本在线免费 | 99热久久这里只有精品 | 91黄色免费视频 | 亚洲av无码一区东京热久久 | 国产清纯白嫩初高中在线观看性色 | 精品国产成人亚洲午夜福利 | 日韩中文字幕电影 | 欧美黄一级 | 色哟哟黄色 | 大肉大捧一进一出好爽视频 | 国产一区二区 | 翔田千里一区 | 天天操婷婷 | 亚洲天堂久 | 国产成人 综合 亚洲 | 内谢少妇xxxxx8老少交视频 | 福利视频免费 | 日韩视频一区二区在线观看 | 色网在线视频 | 国内精品小视频 | 国产日韩不卡 | 蜜桃视频在线观看网站 | 国产在线精品成人欧美 | 奇米第四色首页 | 男女午夜激情视频 | 色哟哟在线观看视频 | 中文字幕欧美色图 | 永久免费成人 | 四虎5151久久欧美毛片 | 亚洲第一福利网站 | 国产福利二区 | 黄色不卡av| 五月天激情电影 | 欧美一区二区三区公司 | 免费观看污网站 | 毛片毛片毛片毛片毛片毛片毛片 | 香蕉在线看 | 欧美视频xxxx | 尤物网在线 | 草久久|