Unity代码分享——一个快速显示所有Sprite为Image_icon的帮助类
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                Unity代码分享——一个快速显示所有Sprite为Image_icon的帮助类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                第一版,后面肯定會改的
改版二:。。。
using UnityEngine; using UnityEngine.UI; #if UNITY_EDITOR //TODO:快速變化 #endif /// <summary> /// 加載所有小圖UI到場景中,可做壓測用,也可以體驗ugui的overdraw /// </summary> public class LoadAllSpriteSource : MonoBehaviour {//需要兩個變量,rootCanvase + 資源(可以是讀表,ScriptableObject, 預制體Ref,需要改)public GameObject spriteSource;public Canvas canva;int offsetX = 50;//Sprite的平均尺寸,一般icon 也可能很小10 * 10,這里取平均int offsetY = 50;void Start(){var inst = Instantiate(spriteSource);//SpriteSource.Inst.Find()SpriteSource ss = inst.GetComponent<SpriteSource>();for (int i = 0; i < ss.m_Objects.Count; i++){//TODO:如果你的項目資源很多,幾千個?要考慮加一個數量條件,跳出循環int x = i / 20;//好像是很簡單的list,轉 x-y 格子;只是隨便用,所以沒考慮0-1問題;int y = i % 20;Sprite sp = ss.m_Objects[i] as Sprite;var newUi = new GameObject();newUi.transform.SetParent(canva.transform,false);var img = newUi.AddComponent<Image>();img.sprite = sp;newUi.transform.position = newUi.transform.position + new Vector3(x * offsetX, y * offsetY,0);//2D ui還是xy就好了,但若想做overdraw壓測,只要改成xz,y軸不偏移則明顯看到效果}}//TODO:自創建測試場景public void CreateScene(){} } using UnityEngine; using UnityEngine.UI; #if UNITY_EDITOR //TODO:快速變化 #endif /// <summary> /// 加載所有小圖UI到場景中,可做壓測用,也可以體驗ugui的overdraw /// </summary> public class LoadAllSpriteSource : MonoBehaviour {//需要兩個變量,rootCanvase + 資源(可以是讀表,ScriptableObject, 預制體Ref,需要改)public GameObject spriteSource;public Canvas canva;int offsetX = 50;//Sprite的平均尺寸,一般icon 也可能很小10 * 10,這里取平均int offsetY = 50;void Start(){var inst = Instantiate(spriteSource);//SpriteSource.Inst.Find()SpriteSource ss = inst.GetComponent<SpriteSource>();for (int i = 0; i < ss.m_Objects.Count; i++){//TODO:如果你的項目資源很多,幾千個?要考慮加一個數量條件,跳出循環int x = i / 20;//好像是很簡單的list,轉 x-y 格子;只是隨便用,所以沒考慮0-1問題;int y = i % 20;Sprite sp = ss.m_Objects[i] as Sprite;var newUi = new GameObject();newUi.transform.SetParent(canva.transform,false);var img = newUi.AddComponent<Image>();img.sprite = sp;newUi.transform.position = newUi.transform.position + new Vector3(x * offsetX, y * offsetY,0);//2D ui還是xy就好了,但若想做overdraw壓測,只要改成xz,y軸不偏移則明顯看到效果}}//TODO:自創建測試場景public void CreateScene(){} }總結
以上是生活随笔為你收集整理的Unity代码分享——一个快速显示所有Sprite为Image_icon的帮助类的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: sms实现wap push的方法和格式
 - 下一篇: ES6 解构赋值的用法笔记