Unity實現換裝系統
Unity如何實現換裝系統,供大傢參考,具體內容如下
1.創建Sprite Library Asset
2.添加新目錄
Label 可以理解為標簽,在代碼調用過程中使用,將該部位裝備圖片拖入Sprite中
3.添加組件
給需要換裝的部位添加Sprite Resolver組件(如頭部換裝,就在頭部對象掛載組件)
選擇目錄名,就會出現之前Library Asset中拖拽的圖片內容,點擊不同圖片可以預覽效果(如果出現裝備位置偏移,需調整圖片的pivot)
4.通過代碼實現換裝
小筆記:
1).UnityEngine.Experimental.U2D.Animation 記得寫
2).Start函數中GetComponents的s不要忘,也可以用FindObjectsOfType
3).如果是整體換套裝,就將腳本掛載到Player對象上,如果隻是單獨換部件如武器,就單獨掛載到武器對象上
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),以獲取相應的圖片 resolver.SetCategoryAndLabel(resolver.GetCategory(), "AK47"); } } if (Input.GetKeyDown(KeyCode.R))//按R切換到MP5 { foreach (var resolver in this.GetComponents<SpriteResolver>()) { resolver.SetCategoryAndLabel(resolver.GetCategory(), "MP5"); } } } }
以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。
推薦閱讀:
- None Found