游戏中经常会要求使用美术形式的数字表现,这里提供一个接口,传入数字,可以自动转化为美术字(前提是需要有自己的美术资源),代码如下:

    public Image[] _imageList;//美术字列表public InputField _inputNum;//测试用//美术字类型(不同的表现)enum E_NumType{Type_1,Type_2}/// <summary>/// 获取图片类型/// </summary>/// <param name="type"></param>/// <returns></returns>string GetNumTypeString(E_NumType type){string numType = "";switch (type){case E_NumType.Type_1:numType = "type1_";break;case E_NumType.Type_2:numType = "type2_";break;default:numType = "type1_";break;}return numType;}/// <summary>/// 设置美术字/// </summary>/// <param name="num"></param>数值大小/// <param name="img"></param>图片数组/// <param name="type"></param>图片类型void SetPicNum(int num, Image[] img, E_NumType type = E_NumType.Type_1){string str = num.ToString();//这里也可以数字设置表现:如num.ToString("N");if (str.Length > img.Length){ Debug.Log("长度超出");return;}int index = 0;for (int i = 0; i < img.Length; ++i){if (i < str.Length){img[i].gameObject.SetActive(true);//获取图片(这里是直接从Resources加载的)string path = "Sprite/" + GetNumTypeString(type) + str.Substring(i, 1);Sprite getSp = Resources.Load<Sprite>(path);img[index].sprite = getSp;img[index].SetNativeSize();index++;}else{img[i].gameObject.SetActive(false);}}}//测试public void BtnEvent_Type1(){int num = int.Parse(_inputNum.text);SetPicNum(num, _imageList, E_NumType.Type_1);}public void BtnEvent_Type2(){int num = int.Parse(_inputNum.text);SetPicNum(num, _imageList, E_NumType.Type_2);}

我这里用的是UGUI,如果是NGUI,把换图片的地方修改下就行了,直接用图集里的图片(数字图片在同一图集)

运行截图和资源截图:

Unity技巧总结03 转美术数字动态设置相关推荐

  1. [Unity优化]批处理03:静态批处理

    [Unity优化]批处理03:静态批处理 原理: 运行时,把需要进行静态批处理的网格合并到一个新的网格中.虽然只进行一次合并操作,但是会占用更多的内存来存储合并后的网格,并且被静态批处理的物体无法移动 ...

  2. h5 数字变化_基于JS实现数字动态变化显示效果附源码

    先给大家展示下效果,感觉不错,可以参考实现代码,文末附有源码哦. 1.目标 以液晶电子表样式,动态变化的在指定元素内显示数字. 目标关键词:动态变化(定时器),指定元素(DOM元素ID),数字(num ...

  3. 原创wallpaper Engine冷高轮时间电脑动态时钟壁纸 动态小人人体形状造型数字 动态手势数字 动态麻将数字 动态扑克数字 动态时钟壁纸

    冷高轮时间wallpaper Engine电脑动态时钟壁纸壁纸 小人人体形状造型数字 手势数字 麻将数字 扑克数字 动态时钟壁纸 1.需要在steam中下载wallpaper Engine安装好wal ...

  4. js实现数字动态递增效果

    <!DOCTYPE html> <html> <head><meta charset="UTF-8"><title>js ...

  5. android动态设置EditText显示英文带数字键盘

    开启软键盘和隐藏软键盘 //软键盘控制器 InputMethodManagerimm =(InputMethodManager)getActivity().getSystemService(Conte ...

  6. 百度地图API首页数字动态改变特效jquery特效

    百度地图API首页数字动态改变特效 百度地图首页板块 代码片段html 百度地图首页板块 1.昨天做网站领导需要一个浏览器窗口滚动到当前位置数字开始变动到指定位置,现在我把代码分享给大家. 代码片段h ...

  7. Corel Painter 2020 20.0.0.256 特别版 Mac 强大的美术数字绘画软件

    运用最专业逼真的数字艺术套装软件,创作完美绘图.Painter 2020 为插画家.摄影师或艺术家提供他们喜爱的Natural-Media® 和无限量供应的艺术媒体.不论是从传统艺术创作转换至数字艺术 ...

  8. Json中key为数字动态格式怎么解析

    JSON数据就是一段字符串而已,只不过有不同意义的分隔符将其分割开来而已,我们看上面的符号,里面有[] ,{}等符号,其中 1 []中括号代表的是一个数组: 2 {}大括号代表的是一个对象 3 双引号 ...

  9. unity中定时滑动公告板的实现及动态设置gridLayout的大小

    首先贴效果: 1.动态设置gridLayout的大小 核心组件为rectTransform,核心属性一个为rectTransform.anchoredPosition,用来设置和锚点的距离,否则只设置 ...

最新文章

  1. 不用任何第三方,写一个RTMP直播推流器
  2. 在linux系统 挂载光盘:mount时提示: you must specify the filesystem type
  3. android简化log输出方法
  4. Kubernetes二进制集群部署+Web管理界面+kubectl 命令管理+YAML文件详解(集合)
  5. hive动态分区shell_Hive/Shell 创建Hive 库 ,表脚本,Hive 动态增加分区脚本
  6. 喜欢使用VMware的.net程序员要注意呀(Visual Studio启动不了的问题)
  7. 「PMP答题卡」真实模拟PMP考试
  8. shapefile文件格式说明
  9. c语言SPF算法代码,SPF 算法具体过程
  10. NSACE|企业网络安全问题,千万别不在乎
  11. win7家庭版升级旗舰的密钥
  12. moment获取本月、上个月、近三个月时间段
  13. 1623_MIT 6.828 在JOS中增加一条交互命令
  14. 我用 go-zero 一周实现了一个中台系统,已开源!
  15. 微信支付宝网站二维码收款个人免签收款接口代搭建
  16. 设置主菜单背景显示为壁纸
  17. 秒懂MAC地址的构成和交换机基本原理
  18. 火狐浏览器保存书签不在书签工具栏显示
  19. 计算机审计应用的心得体会,计算机审计中级培训心得体会范文
  20. 三菱je-a系列伺服支持modbusrtu 协议吗_作为工控电气人,你知道我们必备的软件有哪些吗?...

热门文章

  1. 旋转不变性与旋转等变性
  2. Qt开发一个小软件记录
  3. COLING'22 | MetaPrompting:基于元学习的soft prompt初始化方法
  4. 计算机操作系统第四版题库,汤子瀛计算机操作系统第4版配套题库(含名校考研真题)...
  5. ubuntu 16.04 安装SGE(Sun Grid Engine)
  6. 前端页面出现中文乱码
  7. pandas中的数据对象Series
  8. 前端最常见的面试题整理
  9. alv布局 sap_ABAP报表开发:ALV运用
  10. springmvc运行时,Failed to read candidate component class;nested exception is java.lang.IllegalArgument