Unity3d批量更換UGUI-NGUI字體工具

在咱們做項目的時候經(jīng)常會遇到要換字體的情況,比如美工覺著字體不好看或者要做其它語言版本……遇到這種情況………如果UI很多,顯示的字體特別多,那就呵呵了………累不累先放一邊,萬一漏了可是一件麻煩的事情…………
需要的朋友可以閱讀腳本,當(dāng)然,直接復(fù)制到你的工程新建C#腳本,放到Endit文件夾直接也可以使用的。


修改窗口

using UnityEngine;
using UnityEngine.UI;
using UnityEditor;

/// <summary>
/// 批量修改UI字體腳本,腳本位于Endit文件夾
/// </summary>
public class ChangeFontWindow : EditorWindow
{
    //window菜單下
    [MenuItem("Window/Change Font")]
    private static void ShowWindow()
    {
        ChangeFontWindow cw = EditorWindow.GetWindow<ChangeFontWindow>(true, "Window/Change Font");
    }

    //默認(rèn)字體
    Font toFont = new Font("Arial");
    //切換到的字體
    static Font toChangeFont;
    //字體類型
    FontStyle toFontStyle;
    //切換到的字體類型
    static FontStyle toChangeFontStyle;

    private void OnGUI()
    {
        GUILayout.Space(10);
        GUILayout.Label("目標(biāo)字體:");
        toFont = (Font) EditorGUILayout.ObjectField(toFont, typeof (Font), true, GUILayout.MinWidth(100f));
        toChangeFont = toFont;
        GUILayout.Space(10);
        GUILayout.Label("字體類型:");
        toFontStyle = (FontStyle) EditorGUILayout.EnumPopup(toFontStyle, GUILayout.MinWidth(100f));
        toChangeFontStyle = toFontStyle;
        if (GUILayout.Button("確認(rèn)修改"))
        {
            Change();
        }
    }

    public static void Change()
    {
        //獲取所有UILabel組件
        if (Selection.objects == null || Selection.objects.Length == 0) return;
        Object[] labels = Selection.GetFiltered(typeof (Text), SelectionMode.Deep);
        foreach (Object item in labels)
        {
            Text label = (Text) item;
            label.font = toChangeFont;
            label.fontStyle = toChangeFontStyle;
            //  如果是NGUI將Text換成UILabel就可以
            //  UILabel label = (UILabel)item;
            //  label.trueTypeFont = toChangeFont;

            EditorUtility.SetDirty(item); //重要
        }
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,950評論 25 709
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,196評論 4 61
  • 幾天前沒刮風(fēng)的時候,一直想發(fā)一條朋友圈吐個槽,順便想念一下青島。因為這一周多以來北京和周邊的空氣實在是太太太太太太...
    白大炮閱讀 217評論 0 0
  • 關(guān)于生命 時間就是生命,或者,生命就是時間。人之所以活著是因為我們有時間,當(dāng)我們死去,只是我們在這個世界上沒有時間...
    刺猬門房閱讀 268評論 0 0
  • 慘白色的墻壁和天花板,以及昏暗的燈光,讓艾倫斯感覺異常壓抑,頭上戴著的奇怪頭盔,也令他很不舒服。他一邊心不在焉地翻...
    孫其閱讀 278評論 0 2

友情鏈接更多精彩內(nèi)容