Unity3D 【编辑器扩展】一键批量修改预设UGUI Text字体

2024-06-19 19:38

本文主要是介绍Unity3D 【编辑器扩展】一键批量修改预设UGUI Text字体,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我们做项目的时候经常会遇到要换个字体的工作情况,比如美工同学觉着字体不好看或者要做其它语言版本什么的。遇到这种情况我们总不能一个标签一个标签的去找到它们把字体换了,累不累就不说了,万一漏了也是麻烦事。

转载请保留原文链接:http://blog.csdn.net/andyhebear/article/details/51393259

[csharp]  view plain copy
  1. using UnityEngine;  
  2. using UnityEngine.UI;  
  3. using UnityEditor;  
  4.   
  5. using System.Collections;  
  6. using System.Collections.Generic;  
  7.   
  8. //[InitializeOnLoad]  
  9. public class ChangeFontWindow : EditorWindow {  
  10.   
  11.     static ChangeFontWindow() {  
  12.         //toChangeFont = new Font("Arial");  
  13.         //toChangeFontStyle = FontStyle.Normal;  
  14.     }  
  15.       
  16.     [MenuItem("Window/Change Font")]  
  17.     private static void ShowWindow() {  
  18.      ChangeFontWindow cw=   EditorWindow.GetWindow<ChangeFontWindow>(true"Window/Change Font");  
  19.      
  20.     }  
  21.     Font toFont = new Font("Arial");  
  22.     static Font toChangeFont;  
  23.     FontStyle toFontStyle;  
  24.     static FontStyle toChangeFontStyle;  
  25.     private void OnGUI() {  
  26.         GUILayout.Space(10);  
  27.         GUILayout.Label("目标字体:");  
  28.         toFont = (Font)EditorGUILayout.ObjectField(toFont, typeof(Font), true, GUILayout.MinWidth(100f));  
  29.         toChangeFont = toFont;  
  30.         GUILayout.Space(10);  
  31.         GUILayout.Label("类型:");  
  32.         toFontStyle = (FontStyle)EditorGUILayout.EnumPopup(toFontStyle, GUILayout.MinWidth(100f));  
  33.         toChangeFontStyle = toFontStyle;  
  34.         if (GUILayout.Button("修改字体!")) {  
  35.             Change();  
  36.         }  
  37.     }  
  38.     public static void Change() {  
  39.         //获取所有UILabel组件  
  40.         if (Selection.objects == null || Selection.objects.Length==0) return;  
  41.         //如果是UGUI讲UILabel换成Text就可以  
  42.         Object[] labels = Selection.GetFiltered(typeof(Text), SelectionMode.Deep);  
  43.         foreach (Object item in labels) {  
  44.             //如果是UGUI讲UILabel换成Text就可以  
  45.             Text label = (Text)item;  
  46.             label.font = toChangeFont;  
  47.             label.fontStyle = toChangeFontStyle;  
  48.             //label.font = toChangeFont;(UGUI)  
  49.             Debug.Log(item.name + ":" + label.text);  
  50.             //  
  51.             EditorUtility.SetDirty(item);//重要  
  52.         }  
  53.     }  
  54.     private void OnEnable() {  
  55.     }  
  56.       
  57.     private void OnDisable() {  
  58.     }  
  59.       
  60.   
  61.       
  62.     private void Update() {  
  63.     }  
  64.       
  65.     private void OnDestroy() {  
  66.     }  
  67.       
  68. }  

这篇关于Unity3D 【编辑器扩展】一键批量修改预设UGUI Text字体的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1075964

相关文章

ONLYOFFICE 8.1 版本桌面编辑器测评

在现代办公环境中,办公软件的重要性不言而喻。从文档处理到电子表格分析,再到演示文稿制作,强大且高效的办公软件工具能够极大提升工作效率。ONLYOFFICE 作为一个功能全面且开源的办公软件套件,一直以来都受到广大用户的关注与喜爱。而其最新发布的 ONLYOFFICE 8.1 版本桌面编辑器,更是带来了诸多改进和新特性。本文将详细评测 ONLYOFFICE 8.1 版本桌面编辑器,探讨其在功能、用户

vue项目集成CanvasEditor实现Word在线编辑器

CanvasEditor实现Word在线编辑器 官网文档:https://hufe.club/canvas-editor-docs/guide/schema.html 源码地址:https://github.com/Hufe921/canvas-editor 前提声明: 由于CanvasEditor目前不支持vue、react 等框架开箱即用版,所以需要我们去Git下载源码,拿到其中两个主

android一键分享功能部分实现

为什么叫做部分实现呢,其实是我只实现一部分的分享。如新浪微博,那还有没去实现的是微信分享。还有一部分奇怪的问题:我QQ分享跟QQ空间的分享功能,我都没配置key那些都是原本集成就有的key也可以实现分享,谁清楚的麻烦详解下。 实现分享功能我们可以去www.mob.com这个网站集成。免费的,而且还有短信验证功能。等这分享研究完后就研究下短信验证功能。 开始实现步骤(新浪分享,以下是本人自己实现

iptables(7)扩展模块state

简介         前面文章我们已经介绍了一些扩展模块,如iprange、string、time、connlimit、limit,还有扩展匹配条件如--tcp-flags、icmp。这篇文章我们介绍state扩展模块  state          在 iptables 的上下文中,--state 选项并不是直接关联于一个扩展模块,而是与 iptables 的 state 匹配机制相关,特

开启青龙 Ninja 扫码功能失效后修改成手动填写CK功能【修正Ninja拉库地址】

国内:进入容器docker exec -it qinglong bash #获取ninjagit clone -b main https://ghproxy.com/https://github.com/wjx0428/ninja.git /ql/ninja#安装cd /ql/ninja/backend && pnpm install cp .env.example .env

vscode-创建vue3项目-修改暗黑主题-常见错误-element插件标签-用法涉及问题

文章目录 1.vscode创建运行编译vue3项目2.添加项目资源3.添加element-plus元素4.修改为暗黑主题4.1.在main.js主文件中引入暗黑样式4.2.添加自定义样式文件4.3.html页面html标签添加样式 5.常见错误5.1.未使用变量5.2.关闭typescript检查5.3.调试器支持5.4.允许未到达代码和未定义代码 6.element常用标签6.1.下拉列表

图形编辑器基于Paper.js教程03:认识Paper.js中的所有类

先来认一下Paper的资源对象,小弟有哪些,有个整体的认识。认个脸。 在Paper.js的 官方文档中类大致有如下这些: 基类: ProjectViewItemPointToolSizeSegmentRectangleCurveCurveLocationMatrixColorStyleTweenToolEventGradientGradientStopEvent 二级或三级类 继承Ite

一二三应用开发平台应用开发示例(4)——视图类型介绍以及新增、修改、查看视图配置

调整上级属性类型 前面为了快速展示平台的低代码配置功能,将实体文件夹的数据模型上级属性的数据类型暂时配置为文本类型,现在我们调整下,将其数据类型调整为实体,如下图所示: 数据类型需要选择实体,并在实体选择框中选择自身“文件夹” 这时候,再点击生成代码,平台会报错,提示“实体【文件夹】未设置主参照视图”。这是因为文件夹选择的功能页面,同样是基于配置产生的,因为视图我们还没有配置,所以会报错。

关于文章“python+百度语音识别+星火大模型+讯飞语音合成的语音助手”报错的修改

前言 关于我的文章:python+百度语音识别+星火大模型+讯飞语音合成的语音助手,运行不起来的问题 文章地址: https://blog.csdn.net/Phillip_xian/article/details/138195725?spm=1001.2014.3001.5501 1.报错问题 如果运行中报错,且报错位置在Xufi_Voice.py文件中的pcm_2_wav,如下图所示

文件权限修改为777,php failed to open stream: Permission denied

记录一次在谷歌云上的异常诡异的事件: 环境 centos7.5 nginx php7.0 mysql 问题: 问题一 我用相同的nginx配置,只是修改了nginx root目录。 打开/var/www/html/ 这个目录就报 2018/06/22 04:35:03 [error] 15840#0: *438 FastCGI sent in stderr: “Primary scr