今天突然来个替换字体需求,其实不难,但是有些编写函数忘记了=。=

直接贴代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using UnityEngine.UI;

public class FontToolEditor : EditorWindow
{

    private const string MENU_MAIN_WINDOW = "Tools/Font替换";

    static Font defaultFont_1 = new Font("FZCuYuan");
    static Font defaultFont_2 = new Font("Arial");
    static Font toFont = AssetDatabase.LoadAssetAtPath<Font>("Assets/Font/UTMCafeta.ttf"); 

    [MenuItem(MENU_MAIN_WINDOW)]
    private static void Init()
    {
        List<GameObject> prefabs = new List<GameObject>();
        var resourcesPath = "Assets/Res/Prefab/Gui";
        var absolutePaths = System.IO.Directory.GetFiles(resourcesPath, "*.prefab", System.IO.SearchOption.AllDirectories);

        for (int i = 0; i < absolutePaths.Length; i++)
        {
            EditorUtility.DisplayProgressBar("字体转换中...", "字体转换中...", (float)i / absolutePaths.Length);
            string path = absolutePaths[i].Replace("\\", "/");
            GameObject prefab = AssetDatabase.LoadAssetAtPath(path, typeof(GameObject)) as GameObject;
            //GameObject instance = GameObject.Instantiate(prefab) as GameObject;

            //替换font
            Text[] labels = prefab.GetComponentsInChildren<Text>(true);
            for (int q = 0; q < labels.Length; q++)
            {
                Debug.Log(path+"   &&   " + labels[q].name);
                if (!labels[q].font || labels[q].font.name == "FZCuYuan")
                {    
                    int fontSize = labels[q].fontSize;
                    var fonStyle = labels[q].fontStyle;
                    labels[q].font = toFont;
                    labels[q].fontSize = fontSize;
                    labels[q].fontStyle = fonStyle;
                    EditorUtility.SetDirty(labels[q]);
                }
            }
        }
        AssetDatabase.SaveAssets();
        AssetDatabase.Refresh();
        EditorUtility.ClearProgressBar();
    }

    
}

unity Font字体替换相关推荐

  1. Unity一件替换所有字体Font

    网上看到一个方法 但是此方法的弊端是当父物体隐藏后就无法在替换字体了,对此改进了一下,通过递归每个父节点的子物体来进行替换可以解决 链接地址:Unity 一键快速换字体,告别一个个的手动更改_Liam ...

  2. Unity技能工厂——字体替换工具功能的实现!

    在平常我们做任何项目的时候,工具类对于我们来说是必不可少的组成部分,因为工具类可以解决实际问题或者是优化我们已经实现的功能. 当你在做项目的时候,搭建完场景后,前场景中你所创建的UI组件中的Text的 ...

  3. 【转】Unity中,使用Ngui 的默认字体Arial,显示出错;附带字体替换脚本

    [原贴地址已失效  转载过来备用] Unity工程中的动态字体使用很方便,在一开始的工程中,为了减小游戏包的大小,我们使用的是Unity内置的默认Arial字体,但是在游戏上线测试后,很多玩家反馈个别 ...

  4. Unity 制作font字体

    有很多网友介绍Unity 创建并使用font的方法,这里总结一下备忘,同时网友的部分文章有一些小坑被我踩到,在这里记录一下,希望能帮助其他同学 一.首先创建字体(ttf文件),网上有用BitMap工具 ...

  5. (二)unity优化方案:利用BMFont工具制作font字体(在UGUI和NGUI中使用)

    今天的任务是制作一个在NGUI和UGUI中可以使用的新字体,利用该新字体的文本可以正常显示在界面上,并且还支持中文字符的输入与显示.我在这里记录下制作过程,希望可以帮助到其他爱好者. 为什么要用字体集 ...

  6. UNITY UI字体模糊的原因

    UNITY UI字体模糊的原因 根本原因:像素少. 解决办法:字体的 font size将像素设置大些,然后用scale来缩放大小 posted on 2018-06-21 15:11 时空观察者9号 ...

  7. android 自动替换资源文件,简单高效的实现Android App全局字体替换

    Android O推出了一项新的功能「Fonts in XML」,借助这项功能,我们能够像使用其他资源文件一样使用字体,比较方便地实现App全局字体的替换. 为了能够在API 14或者以上的设备上使用 ...

  8. CAD2017打开图纸点字体替换时没有字体选择框的问题

    近日公司设计师电脑遇到一个问题,对于不懂CAD软件的IT来说,折腾了老半天才弄明白. 情况如下,当打开CAD文件时,弹出缺失字体替换选项,点击后却没有弹出选择字体的对话框而是如下图 直接关闭后 弹出错 ...

  9. 针对大众点评网上商铺评论字体替换反爬的反反爬

    针对大众点评网上商铺评论字体替换反爬的反反爬 字体替换的反爬,在之前网站出现过,如淘宝.猫眼等.但是主要针对于数字字体替换,由于数字就十个,完全可以手动分析字体文件,找出编码与数字的关系.但是,大众点 ...

最新文章

  1. excel 2010 学习笔记一 Vlookup 函数的使用
  2. 吴恩达机器学习笔记61-应用实例:图片文字识别(Application Example: Photo OCR)【完结】...
  3. 不是Linux文件系统的权限,Linux中文件系统的权限管理(普通权限,特殊权限,文件的扩展属性,FACL)...
  4. wxWidgets:剪贴板 wxWidgets 示例
  5. 通过LDAP验证Active Directory服务
  6. java起源英文_Abbreviation 英文词组缩写(来源:南阳理工大学ACM)java
  7. 有效的Java –所有对象通用的方法
  8. Spring Security原理与应用
  9. 写游戏软件要学什么_为什么要写关于您所知道的(或所学到的)的内容
  10. TableStore:爬虫数据存储和查询利器
  11. SCCM 2016 配置管理系列(Part4)
  12. python接口自动化 一个变量 其他接口要用_python接口自动化(二)--什么是接口测试、为什么要做接口测试(详解)...
  13. python3第三方模块安装路径_查看python及其第三方库的版本和安装位置
  14. mysql php 3级联动_php mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
  15. 漏洞扫描工具AppScan下载网盘
  16. O形橡胶密封圈设计标准
  17. 用计算机弹九八k的乐谱,完整版儿童歌曲简谱大全.docx
  18. Nature Microbiology | 可感染阿斯加德古菌的六种深海沉积物中的病毒基因组
  19. 网站为什么会被降权?如何恢复网站被降权,没有流量呢?
  20. 业界首个,冲量在线联合海光信息发布异构隐私计算一体机!

热门文章

  1. 使用exe4j把jar转换成exe文件时,报错java.lang.NoClassDefFoundError: org/eclipse/swt/widgets/Composite
  2. 什么是无线网桥?全方位解析无线网桥及应用场景
  3. thinkpad笔记本鼠标指针一直往左下角滑动解决方法
  4. Arduino循迹小车教程一----材料篇
  5. 何为回归测试(Regression Test)?
  6. 何为项目管理中的S曲线?
  7. ipp协议 服务器,IPP远程服务
  8. CODESOFT6 二维码中追加回车
  9. Onenote实用笔记
  10. centos7扫描新硬盘_跟大家讲讲硬盘基础知识