Unity UGUI UI数字管理器

Unity UGUI UI数字管理器Unity UI 数字管理器 我们使用 UGUI 时对于不能使用文本显示数字 或者没有合适的字体非常头疼 通常美术会提供 0 9 这个 ui 我们要想匹配到 ugui 上会比较麻烦 所以我做了一个数字 ui 管理器 帮我解决了大部分问题 NumSpriteMan 脚本 废话少说

大家好,我是讯享网,很高兴认识大家。

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(); } } 

看懂的记得给个赞哟!

小讯
上一篇 2025-02-27 12:03
下一篇 2025-03-12 14:21

相关推荐

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