Unity3D 统一修改Text的字体

原文:Unity3D开发之编辑器统一修改Text字体_Jay W的博客-CSDN博客  By:JayW就是我

前言

        Unity3D中有时需要一下修改很多Text的字体,要是都一个一个去修改就太麻烦了,所以我们需要一个脚本来帮助我们完成。(在原文的基础上,我自己拓展了一下指定字体的修改。)

效果

代码

using UnityEditor;
using UnityEngine;
using UnityEngine.UI;public class ChangeFontWindow : EditorWindow
{[MenuItem("Tools/更换字体")]public static void Open(){/*第一个参数窗口类型,决定窗口操作逻辑* 第二个参数确定是否为浮动窗口,选择false可有停靠效果* 第三个参数 显示窗口的标题*/EditorWindow.GetWindow(typeof(ChangeFontWindow), false,"更换字体");}bool SpecifyFontReplace;//指定字体更换Font oldFont;Font toChange;static Font toChangeFont;FontStyle toFontStyle;static FontStyle toChangeFontStyle;void OnGUI(){SpecifyFontReplace = EditorGUILayout.Toggle("指定字体更换:", SpecifyFontReplace);if (SpecifyFontReplace)oldFont = (Font)EditorGUILayout.ObjectField("需要改动的字体:", oldFont, typeof(Font), true, GUILayout.MinWidth(100f));toChange = (Font)EditorGUILayout.ObjectField("目标字体:", toChange, typeof(Font), true, GUILayout.MinWidth(100f));toChangeFont = toChange;toFontStyle = (FontStyle)EditorGUILayout.EnumPopup("字体风格:", toFontStyle, GUILayout.MinWidth(100f));toChangeFontStyle = toFontStyle;if (GUILayout.Button("更换")){Change();}}public void Change(){//寻找Hierarchy面板下所有的Textvar tArray = Resources.FindObjectsOfTypeAll(typeof(Text));for (int i = 0; i < tArray.Length; i++){Text t = tArray[i] as Text;//这个很重要,如果没有这个代码,unity是不会察觉到编辑器有改动的,自然设置完后直接切换场景改变是不被保存的  //如果不加这个代码  在做完更改后 自己随便手动修改下场景里物体的状态 再保存就好了 Undo.RecordObject(t, t.gameObject.name);if (SpecifyFontReplace)//指定字体更换,只更换某一种字体为目标字体{if (t.font == oldFont){t.font = toChangeFont;t.fontStyle = toChangeFontStyle;}}else//更换所有字体为目标字体{t.font = toChangeFont;t.fontStyle = toChangeFontStyle;}//相当于让他刷新下 不然unity显示界面还不知道自己的东西被换掉了  还会呆呆的显示之前的东西EditorUtility.SetDirty(t);}Debug.Log("Succed");}
}

END

Unity3D 统一修改Text的字体相关推荐

  1. 【Unity3D编辑器扩展】Unity3D中实现Text的字体的替换

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦. 一.前言 ...

  2. unity怎么在文本中修改字体_(转载)Unity3D开发之编辑器统一修改Text字体

    最近遇到一个需求,就是我们在做完一个场景后,美工感觉字体不好看,效果不是很好,想要换一种字体.UGUI的界面已经搭完,如果要一个一个Text寻找,工作量将是巨大.而且作为程序人员是不会容忍自己做这些机 ...

  3. wps怎么统一修改标点符号_Word2010中如何统一修改标点符号的字体格式?

    回答: 使用"替换"功能,一种一种地全部替换掉即可.比如,先在"查找"框中输入英文标点";",再在"替换为败扒"框中输入 ...

  4. 【Unity3D修改Text创建时的默认字体】

    Unity3D修改Text创建时的默认字体 首先定位Text创建时的字体加载逻辑 我使用的是Unity2019.3.2+win10系统 定位到Text的脚本在 Unity\Editor\Data\Re ...

  5. ppt怎么统一修改字体

    如果你想在 PowerPoint 中统一修改字体,可以按照以下步骤操作: 打开 PowerPoint 文件,选择"开始"选项卡. 点击"替换字体"按钮,该按钮位 ...

  6. ae批量修改字体_批量修改文字样式字体AE脚本CreativeDojo Dojo Text Updater V1.0

    批量修改文字样式字体AE脚本CreativeDojo Dojo Text Updater V1.0 Dojo Text Updater是一个由CreativeDojo开发的After Effects脚 ...

  7. 统一修改word中的英文字体

    转自  https://jingyan.baidu.com/article/3a2f7c2e62835e26afd61129.html 我们常常会用word浏览各种文件,有的时候遇到一些中英文资料,我 ...

  8. 如何批量修改公式的字体

    ​在撰写文档时,对于它的排版是很有讲究的,尤其是理科文献,经常需要多公式进行格式统一,比如修改它的字体.颜色,那么要怎么操作呢?下面就一起来学习. MathType公式编辑器暑期大放价,活动地址:ht ...

  9. word中统一修改mathtype公式和大小对应

    全文统一修改公式字体大小 打开任意一个公式,设置公式大小 将修改好的 保存到文件,路径记住 选择上一步中保存的文件,然后应用到全文中, 步骤如下: . 公式字号和word字号对应关系 初号44pt 小 ...

  10. openpyxl修改图表标题字体和字号

    openpyxl的一个坑在于,修改标题的字体字号时,不能直接套用修改坐标轴字体的方法,但官方文档又讲的很少,只能靠自己摸索(坑). 笔者找到的具体方法见代码: from openpyxl import ...

最新文章

  1. YOLO、SSD、FPN、Mask-RCNN检测模型对比
  2. mysql 查询优化实验报告_Mysql查询优化小结
  3. getTrackbarPos函数
  4. 金融学习纲要与相关知识
  5. Java虚拟机学习集锦是我攒来的,带你碾压面试官!
  6. Jenkins发布spring boot到hub.Docker 方法
  7. docker下使用solr
  8. json jackson
  9. EntityFramework 如何查看执行的 SQL 代码?
  10. 简述与oracle相关的程序组,oracle数据库复习程序.doc
  11. 客户价值分析—RFM模型及变形
  12. 【OpneWRT】编译ipk
  13. 爬虫selenium(edge屋头浏览器+规避检测风险)
  14. 三、Logstash安装部署
  15. AlphaPose环境配置与测试
  16. 第十二届蓝桥杯大赛软件赛省赛 Python 大学 A 组 部分试题与解析
  17. ffmpeg命令行使用
  18. Paradigm Shifts in Kernel Programming 内核编程的范式转移
  19. android压缩照片到指定大小100%可靠
  20. 串口相关的文件操作和linux

热门文章

  1. 海外服务器:为什么越来越多的人选择跨境托管?
  2. Quick Charge技术解析:关于手机快速充电的那些事儿
  3. 餐讯网一口气CP了30+餐饮品牌,共同发起“5.1犒劳大餐”活动
  4. 数学建模算法之模拟退火
  5. 18_数组的定义和访问
  6. 爱情电影中10个经典对白场景
  7. 项目经理压力太大怎么办?这几招轻松缓解压力,有用哦~
  8. java中审核订单流程图_订单评审管理过程流程图
  9. Error creating bean with name 'sqlSessionFactory' defined in class path resource
  10. VS2017专业版和企业版激活密钥--亲测可用