Unity UI数字管理器:
我们使用UGUI时对于不能使用文本显示数字,或者没有合适的字体非常头疼,通常美术会提供0~9这个ui,我们要想匹配到ugui上会比较麻烦,所以我做了一个数字ui管理器,帮我解决了大部分问题
NumSpriteManager脚本:
废话少说,上代码:
using UnityEngine; using System.Collections; using System.Collections.Generic; using UnityEngine.UI; //数字精灵 public class NumSpriteManager : MonoBehaviour {
//数字列表1 public Sprite[] m_numList01; //数字列表2 public Sprite[] m_numList02; //数字列表3 public Sprite[] m_numList03; //数字列表4 public Sprite[] m_numList04; //数字列表5 public Sprite[] m_numList05; //数字列表6 public Sprite[] m_numList06; //数字列表7 public Sprite[] m_numList07; //数字列表8 public Sprite[] m_numList08; //字母列表 public List<Sprite> m_letterList; //加号 public Sprite m_plus; //减号 public Sprite m_substact; //冒号1 public Sprite m_colon01; //冒号2 public Sprite m_colon02; // Use this for initialization void Start () {
} // Update is called once per frame void Update () {
} //获取数字精灵1 public Sprite GetNumSpriteType01 (int num ) {
if (m_numList01 == null || m_numList01.Length < num + 1) return null; return m_numList01[num]; } //获取数字精灵2 public Sprite GetNumSpriteType02(int num) {
if (m_numList02 == null || m_numList02.Length < num + 1) return null; return m_numList02[num]; } //获取数字精灵3 public Sprite GetNumSpriteType03(int num) {
if (m_numList03 == null || m_numList03.Length < num + 1) return null; return m_numList03[num]; } //获取数字精灵4 public Sprite GetNumSpriteType04(int num) {
if (m_numList04 == null || m_numList04.Length < num + 1) return null; return m_numList04[num]; } //获取数字精灵5 public Sprite GetNumSpriteType05(int num) {
if (m_numList05 == null || m_numList05.Length < num + 1) return null; return m_numList05[num]; } //获取数字精灵6 public Sprite GetNumSpriteType06(int num) {
if (m_numList06 == null || m_numList06.Length < num + 1) return null; return m_numList06[num]; } //获取数字精灵7 public Sprite GetNumSpriteType07(int num) {
if (m_numList07 == null || m_numList07.Length < num + 1) return null; return m_numList07[num]; } //获取数字精灵8 public Sprite GetNumSpriteType08(int num) {
if (m_numList08 == null || m_numList08.Length < num + 1) return null; return m_numList08[num]; } //获取字母 public Sprite GetLetterType(int num) {
if (m_letterList == null || num < 0 || num > 26) return null; return m_letterList[num - 1]; } //获取加号 public Sprite GetPlusSign() {
return m_plus; } //获取减号 public Sprite GetSubstactSign() {
return m_substact; } //获取冒号1 public Sprite GetColonSign01() {
return m_colon01; } //获取冒号2 public Sprite GetColonSign02() {
return m_colon02; } }
讯享网
unity Hierarchy面板
将脚本挂到物体上,拖入0~9个数字精灵,或者其他的
使用方法:
讯享网 /// <summary> /// 设置数字 /// </summary> public void SetNum(int score, NumSpriteManager numSpriteManager) {
for (int i = 0; i < puc_numScores.Length; i++) {
puc_numScores[i].gameObject.SetActive(false); } string str_nums = score.ToString(); for (int i = 0; i < str_nums.Length; i++) {
string str_num = str_nums.Substring(i, 1); //打开对应的分数ui puc_numScores[i].gameObject.SetActive(true); //设置分数ui、的精灵 puc_numScores[i].overrideSprite = numSpriteManager.GetNumSpriteType01(int.Parse(str_num)); //puc_numScores[i].SetNativeSize(); } }
看懂的记得给个赞哟!

将脚本挂到物体上,拖入0~9个数字精灵,或者其他的
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/35077.html