【小松教你手游开发】【unity实用技能】一键改变UI字体
2016-04-20 16:40
896 查看
转自http://www.manew.com/thread-49264-1-1.html
我们做项目的时候经常会遇到要换个字体的工作情况,比如美工同学觉着字体不好看或者要做其它语言版本什么的。遇到这种情况我们总不能一个标签一个标签的去找到它们把字体换了,累不累就不说了,万一漏了也是麻烦事。
作为一名高贵的游戏开发工程师,怎么能把时间经历都浪费在这些小事上,所以我们要时刻考虑到什么工作可以通过代码让电脑代替自己的工。
下面这个类是个编辑器工具类,都在代码里~
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的最父级。
最后点击变变变,大功告成~!
我们做项目的时候经常会遇到要换个字体的工作情况,比如美工同学觉着字体不好看或者要做其它语言版本什么的。遇到这种情况我们总不能一个标签一个标签的去找到它们把字体换了,累不累就不说了,万一漏了也是麻烦事。
作为一名高贵的游戏开发工程师,怎么能把时间经历都浪费在这些小事上,所以我们要时刻考虑到什么工作可以通过代码让电脑代替自己的工。
下面这个类是个编辑器工具类,都在代码里~
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 Shader 闪光特效
- unity3d调用windows窗体
- Unity局域网匹配服务器
- unity 5.3 git 版本控制
- unity 打开相册选择图片
- [Unity] 3D数学基础 - 2D旋转矩阵
- Unity AnimatorController注意事项
- Unity3D 学习日记(四)生成不重复的随机数
- unity发布Android默认启动类
- unity 实现流光效果
- unity 实现流光效果
- 【Unity3D游戏开发】material与sharedMaterial的区别 (三八)
- 在unity中体验uwebkit插件过程中遇见的几个问题
- Unity3D学习日记(三)贝塞尔曲线
- Unity之2d对象跟随鼠标旋转
- unity 获取当前键盘按键
- 【NGUI】Unity中使用NGUI和FingerGestures插件点击UI穿透的问题
- 浅谈RenderTexture的shadowmap格式
- unity各种路径
- unity3d c# 之事件