【小松教你手游开发】【unity实用技能】一键改变UI字体
2018-03-10 16:47
801 查看
转自http://www.manew.com/thread-49264-1-1.html
我们做项目的时候经常会遇到要换个字体的工作情况,比如美工同学觉着字体不好看或者要做其它语言版本什么的。遇到这种情况我们总不能一个标签一个标签的去找到它们把字体换了,累不累就不说了,万一漏了也是麻烦事。
作为一名高贵的游戏开发工程师,怎么能把时间经历都浪费在这些小事上,所以我们要时刻考虑到什么工作可以通过代码让电脑代替自己的工。
下面这个类是个编辑器工具类,都在代码里~
下面是使用方法,首先打开刚才制作的工具窗口,然后选择要穿的新字体。
然后去场景选择一组UI的最父级。
最后点击变变变,大功告成~!
我们做项目的时候经常会遇到要换个字体的工作情况,比如美工同学觉着字体不好看或者要做其它语言版本什么的。遇到这种情况我们总不能一个标签一个标签的去找到它们把字体换了,累不累就不说了,万一漏了也是麻烦事。
作为一名高贵的游戏开发工程师,怎么能把时间经历都浪费在这些小事上,所以我们要时刻考虑到什么工作可以通过代码让电脑代替自己的工。
下面这个类是个编辑器工具类,都在代码里~
using UnityEngine; using System.Collections; using UnityEditor; using UnityEngine.UI; public class ChangeFontWindow : EditorWindow { [MenuItem("DuanTools/换字体")] public static void Open() { EditorWindow.GetWindow(typeof(ChangeFontWindow)); } public Font toChange; static Font toChangeFont; void OnGUI() { toChange = (Font)EditorGUILayout.ObjectField(toChange, typeof(Font), true, GUILayout.MinWidth(100f)); toChangeFont = toChange; if (GUILayout.Button("变变变!")) { Change(); } } public static void Change() { //获取所有UILabel组件 //如果是UGUI讲UILabel换成Text就可以 Object[] labels = Selection.GetFiltered(typeof(UILabel), SelectionMode.Deep); foreach (Object item in labels) { //如果是UGUI讲UILabel换成Text就可以 UILabel label = (UILabel)item; label.trueTypeFont = toChangeFont; //label.font = toChangeFont;(UGUI) Debug.Log(item.name + ":" + label.text); } } }
下面是使用方法,首先打开刚才制作的工具窗口,然后选择要穿的新字体。
然后去场景选择一组UI的最父级。
最后点击变变变,大功告成~!
相关文章推荐
- 【小松教你手游开发】【unity实用技能】一键改变UI字体
- 【小松教你手游开发】【unity实用技能】unity发包优化(android一键发包)
- 【小松教你手游开发】【unity实用技能】unity ngui wp8上使用动态字体消失或碎片化的问
- 【小松教你手游开发】【unity实用技能】ui加载及初始化
- 【小松教你手游开发】【unity实用技能】NGUI字体描边
- 【小松教你手游开发】【unity实用技能】NGUI字体描边
- 【小松教你手游开发】【unity实用技能】unity发包优化(android一键发包)
- 【小松教你手游开发】【unity实用技能】ios接sdk,c++ 交叉引用解决方法
- 【小松教你手游开发】【unity实用技能】NGUI Depth探索
- 【小松教你手游开发】【unity实用技能】unity编辑器工具之加载预制和场景
- 【小松教你手游开发】【unity实用技能】Unity项目内存优化大全
- 【小松教你手游开发】【unity实用技能】Unity Mesh更新的时候增加内存
- 【小松教你手游开发】【unity实用技能】NGUI Depth探索
- 【小松教你手游开发】【unity实用技能】Unity内存申请和释放(转自tnqiang)
- 【小松教你手游开发】【unity实用技能】从NGUI的UIScrollview的实现原理
- 【小松教你手游开发】【unity实用技能】foreach为什么在unity不建议用
- 【小松教你手游开发】【unity实用技能】unity自带寻路Navmesh入门教程
- 【小松教你手游开发】【unity实用技能】控制renderQueue解决NGUI与Unity3D物体渲染顺序问题
- 【小松教你手游开发】【unity实用技能】Unity3D中Assetbundle技术使用心得
- 【小松教你手游开发】【unity实用技能】u3d 获取屏幕的宽高