做UI时,有时需要用到各种风格的数字,我们一般不会单独做成字体,而是会用图片来表示。
在此,编写了一个脚本,用来专门显示图片数字,并且是专门适用于UGUI的。
using UnityEngine; using System.Collections; using UnityEngine.UI; using System.Collections.Generic; public class ShowNumber : MonoBehaviour { List<Sprite> l_Number = new List<Sprite> (); Sprite s_Number=new Sprite(); Image[] i_Score; int temp; void Awake() { l_Number.Clear (); for (int i=0; i<10; i++) { l_Number.Add((Sprite)Resources.Load (StaticFont.No+i,s_Number.GetType())); } i_Score = transform.GetComponentsInChildren<Image> (); for (int i=0; i<i_Score.Length; i++) { i_Score[i].sprite=l_Number[0]; } } public void ShowImageByNumber(int _number){ for (int i=0; i<i_Score.Length; i++) { i_Score[i].sprite=l_Number[0]; } int step = 0; while (_number>=1) { temp=_number%10; i_Score[step].sprite=l_Number[temp]; _number/=10; step++; } } }
注意:
在空物体下绑该脚本,空物体下在添加若干Image,并且是从个位开始往下添加,顺序不要弄错