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

using UnityEngine;

using System.Collections;

using UnityEditor;

using UnityEditor.SceneManagement;

using UnityEngine.UI;

public class ChangeFontWindow : EditorWindow

{

[MenuItem("Tools/更换字体")]

public static void Open()

{

EditorWindow.GetWindow(typeof(ChangeFontWindow));

}

Font toChange;

static Font toChangeFont;

FontStyle toFontStyle;

static FontStyle toChangeFontStyle;

void OnGUI()

{

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 static void Change()

{

Transform canvas = GameObject.Find("Canvas").transform;

if (!canvas)

{

Debug.Log("NO Canvas");

return;

}

Transform[] tArray = canvas.GetComponentsInChildren();

for (int i = 0; i < tArray.Length; i++)

{

Text t = tArray[i].GetComponent();

if (t)

{

//这个很重要,博主发现如果没有这个代码,unity是不会察觉到编辑器有改动的,自然设置完后直接切换场景改变是不被保存

//的 如果不加这个代码 在做完更改后 自己随便手动修改下场景里物体的状态 在保存就好了

Undo.RecordObject(t, t.gameObject.name);

t.font = toChangeFont;

t.fontStyle = toChangeFontStyle;

//相当于让他刷新下 不然unity显示界面还不知道自己的东西被换掉了 还会呆呆的显示之前的东西

EditorUtility.SetDirty(t);

}

}

Debug.Log("Succed");

}

}

希望本博客对你有帮助。

---------------------

作者:JayW就是我吖

来源:CSDN

原文:https://blog.csdn.net/qq_33994566/article/details/78325768

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

  1. unity 发光字体_[转载]Unity3D做彩色的字体的详细教学

    效果是这样的: 1-1.jpeg (15.73 KiB) 被浏览 24 次 详细的实现方法: 1 首先随便扔进去一个字体,最简单的比如扔进去一个arial. 设置好Font Size,比如24 Cha ...

  2. unity怎么在文本中修改字体_[专栏作家]UGUI中CustomFont字体使用与制作

    原标题:[专栏作家]UGUI中CustomFont字体使用与制作 前言: 如何在UGUI中使用自定义的数字图片.在开发过程中,美术同学会给出类似艺术数字图片如下图: 那在UGUI系统中如何使用呢? U ...

  3. linux中jdk添加字体_在Linux上为Openjdk Java定义/安装字体的位置

    在Ubuntu上安装了Oracle 8 jdk,在jre/lib中它具有各种fontProperties文件和一个包含字体的字体目录.但是,当安装OpenJdk 8时,jre/lib中的字体文件上没有 ...

  4. iconfont 图标转为字体_如何把你的图标转换成web字体

    我已经制为网站制作了一些优雅的图标,并且在新的网站和老的iPad上进行了测试.正常尺寸下,布局看看上去一切OK,但的将页面进行放大显示,我却发现我的icon变得模糊不清,但是基于文本的标题依然清晰可见 ...

  5. mac word维吾尔文字体_字加软件更新啦!万款字体一键激活!

    [字加]客户端软件更新啦! 目前MAC版本和WIN版本[字加]都已更新.Mac OS客户端V0.9.9.13,Windows客户端V0.9.9.4. [字加]客户端软件是为设计师量身定做的一款字体获取 ...

  6. 编程最佳字体_网站上使用的10种最佳装饰字体

    编程最佳字体 我们选择的字体在网站中起着主要作用. 正确的字体组合可以使您的网站脱颖而出. 此外,他们与您的品牌紧密结合,以传递正确的信息. 在各种字体样式中,装饰字体是一个不错的选择,如果您想产生影 ...

  7. unity android eclipse,[转]Android笔记:Eclipse嵌入Unity3D开发的3D场景

    1.Unity3D开发程序员开发好场景后,打包apk包,将此apk包发给android开发人员 2.android开发人员将得到的apk包后缀名改为.zip(即重命名将.apk改为.zip) 3.解压 ...

  8. ant指定servlet版本_[转载]程序开发常见错误

    [转载]程序开发常见错误 (2011-06-19 14:28:13) 标签: 转载 谢谢 项目中遇到的错误 sql错误 找不到列 Unknown column 'fillMen' in 'field ...

  9. ssms,新建查询设置字体_如何在SSMS查询编辑器中使用SQLCMD命令

    ssms,新建查询设置字体 SQLCMD Mode allows creating, testing, executing SQLCMD commands or scripts in SQL Serv ...

最新文章

  1. hihoCoder #1047 Random Tree
  2. matlab最小二乘法参数辨识,基于最小二乘法的MATLAB辨识仿真实验
  3. continue和break语句的区别
  4. 商品搜索引擎---推荐系统设计
  5. windows程序设计.第一个windos程序
  6. Linux文本截取命令cut​笔记
  7. 阿里P8亲自讲解!java实例变量和类变量
  8. 为什么要使用NoSQL
  9. 在一个IPython Notebook单元中显示多个图像?
  10. SAP License:发票校验
  11. 9个月宝宝还不会爬怎么办?
  12. 抖音下拉框中的下拉词是怎么出来的?
  13. 拆分工作簿为多个文件_能不能将总表快速拆分为多个工作簿?当然!
  14. 屏幕坐标转换世界坐标
  15. 【原创】《管理的实践》阅读有感
  16. 算法分析与设计-实验一 递归与分治算法设计
  17. OC 6702升压型恒流驱动芯片, ESOP8 封装,内置 100V 功率 MOS
  18. 2015年6月26日-ps图层蒙版
  19. AMS中控推送系统安装使用说明
  20. CVX示例库之多面体的Chebyshev中心

热门文章

  1. 聊聊高效的与第三方合作方沟通
  2. (转)“Word上次启动时失败,以安全模式启动Word....”解决办法
  3. 牛客挑战赛32 B 114514
  4. 这些话,很经典,很哲理,也很触动
  5. 导入导出thunderbird(雷鸟)中的邮件
  6. 删除kubesphere所有资源
  7. 计算机维修工培训目标,计算机维修工培训教案【参考】.doc
  8. Finablr将加快客户导向型技术创新
  9. G 分布式服务链路追踪-SkyWorking
  10. 天津大学四川创新研究院正式揭牌,落户成都科学城