圖片是動態加載的,然后轉換為sprite賦值到ugui的按鈕上
代碼如下
using UnityEngine; using System.Collections; using System.IO; using UnityEngine.UI; public class UITexLoader : MonoBehaviour { public string texname; private Texture2D m_Tex; private void LoadFromFile(string path) { m_Tex = new Texture2D(1, 1); m_Tex.LoadImage(ReadPNG(path)); } private byte[] ReadPNG(string path) { FileStream fileStream = new FileStream(path, FileMode.Open, System.IO.FileAccess.Read); fileStream.Seek(0, SeekOrigin.Begin); byte[] binary = new byte[fileStream.Length]; //創建文件長度的buffer fileStream.Read(binary, 0, (int)fileStream.Length); fileStream.Close(); fileStream.Dispose(); fileStream = null; return binary; } // Use this for initialization void Start() { LoadFromFile(texname); Sprite tempSprite = new Sprite(); tempSprite = Sprite.Create(m_Tex, new Rect(0, 0, m_Tex.width, m_Tex.height), new Vector2(0, 0)); GetComponent<Image>().sprite =tempSprite; } // Update is called once per frame void Update () { } }
把這個腳本綁定到UGUI的按鈕上面,運行就可以把按鈕上的圖片 動態改變了