Unity實(shí)現(xiàn)換裝系統(tǒng)
Unity如何實(shí)現(xiàn)換裝系統(tǒng),供大家參考,具體內(nèi)容如下
1.創(chuàng)建Sprite Library Asset
2.添加新目錄
Label 可以理解為標(biāo)簽,在代碼調(diào)用過程中使用,將該部位裝備圖片拖入Sprite中
3.添加組件
給需要換裝的部位添加Sprite Resolver組件(如頭部換裝,就在頭部對象掛載組件)
選擇目錄名,就會出現(xiàn)之前Library Asset中拖拽的圖片內(nèi)容,點(diǎn)擊不同圖片可以預(yù)覽效果(如果出現(xiàn)裝備位置偏移,需調(diào)整圖片的pivot)
4.通過代碼實(shí)現(xiàn)換裝
小筆記:
1).UnityEngine.Experimental.U2D.Animation 記得寫
2).Start函數(shù)中GetComponents的s不要忘,也可以用FindObjectsOfType
3).如果是整體換套裝,就將腳本掛載到Player對象上,如果只是單獨(dú)換部件如武器,就單獨(dú)掛載到武器對象上
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Experimental.U2D.Animation; public class RifleSpriteControl : MonoBehaviour { public List<SpriteResolver> spriteResolvers = new List<SpriteResolver>(); // Start is called before the first frame update void Start() { foreach(var resolver in FindObjectsOfType<SpriteResolver>()) { //將遍歷到的所有SpriteResolver添加到list中 spriteResolvers.Add(resolver); } } // Update is called once per frame void Update() { if (Input.GetKeyDown(KeyCode.E))//按E切換到AK47 { foreach (var resolver in this.GetComponents<SpriteResolver>()) { //SetCategoryAndLabel(目錄名,步驟2中所填寫的Label),以獲取相應(yīng)的圖片 resolver.SetCategoryAndLabel(resolver.GetCategory(), "AK47"); } } if (Input.GetKeyDown(KeyCode.R))//按R切換到MP5 { foreach (var resolver in this.GetComponents<SpriteResolver>()) { resolver.SetCategoryAndLabel(resolver.GetCategory(), "MP5"); } } } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#實(shí)現(xiàn) Server-sent Events的步驟
這篇文章主要介紹了C#實(shí)現(xiàn) Server-sent Events的步驟,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下2021-01-01深入了解C#設(shè)計(jì)模式之訂閱發(fā)布模式
這篇文章主要介紹了C#設(shè)計(jì)模式之訂閱發(fā)布模式的的相關(guān)資料,文中示例代碼非常詳細(xì),供大家參考和學(xué)習(xí),感興趣的朋友可以了解下2020-06-06C#實(shí)現(xiàn)基于ffmpeg加虹軟的人臉識別的示例
本篇文章主要介紹了C#實(shí)現(xiàn)基于ffmpeg加虹軟的人臉識別的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10C#中使用jieba.NET、WordCloudSharp制作詞云圖的步驟
之前一篇文章介紹的是使用Python的jieba、wordcloud的庫生成詞云圖,本文則介紹在C#中如何使用jieba.NET、WordCloudSharp庫生成詞云圖,感興趣的朋友一起看看吧2021-07-07C#多線程處理多個(gè)隊(duì)列數(shù)據(jù)的方法
本文將結(jié)合實(shí)例代碼,介紹C#多線程處理多個(gè)隊(duì)列數(shù)據(jù)的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-06-06c# wpf使用GMap.NET類庫,實(shí)現(xiàn)地圖軌跡回放
這篇文章主要介紹了c# wpf使用GMap.NET類庫,實(shí)現(xiàn)地圖軌跡回放的方法,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-03-03