您的位置:首页 > 移动开发 > Unity3D

【小松教你手游开发】【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的最父级。
最后点击变变变,大功告成~!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: