Unity项目开发必备技能——字体替换工具的使用(上)

在平常我们做unity项目的时候,工具类的使用对于我们来说是必不可少的组成部分,因为工具类可以解决实际问题或者是优化我们已经实现的功能。

图片

当你在做项目的时,我们搭建完场景后,当前场景中你所创建的UI组件中的Text的字体,如果不符合你的要求,效果不好或者说是与你的游戏主题不搭;并且你的Text组件又创建的很多,也就是说如果你的UGUI界面已经搭完的情况下,想要更换一种字体的时候,逐个寻找Text更换字体的过程中工作量无形加大,很可能会遗漏并且机械的工作会使人疯狂,那么这个时候使用字体替换工具可以使你的操作起来自动化、更加方便快捷、节省时间精力。

字体替换工具,是可以帮助我们批量替换场景中Text组件中字体的工具。那你知道如何创建场景中Text的字体替换工具吗?我讲一下我是如何实现的,但是要注意呦!字体替换工具的实现方法并不是唯一,仅供参考哈!

首先讲一下我的思路:批量修改预制体中存在的Text组件的字体数据,指定某种字体替换到另外一种字体。创建新的Editor窗口和工具,通过代码获取和显示窗口,设置窗口名称并且在菜单窗口中显示Tool工具,点击按钮控件则更换字体,获取当前场景并且判断是否保存最后找到当前场景中的所有Text更换字体(当然,也可以是项目内的所有场景)。

接下来讲一下准备工作:

Assets文件夹中新建一个文件夹命名为Editor并且创建一个脚本FontTools;

图片

讲解代码:

1. 声明三个变量,分别是字体工具窗口为空的变量、替换上来的字体的变量、替换下去的字体的变量;

2. 在Unity的菜单栏中添加Tool工具;

3. 写一个展示窗口的方法ShowToolWindow();

  ①判断窗口是否为空,如果为空则获取窗口

  ②设置窗口的名称

  ③显示窗口

1. OnGUI方法:我们用来创建新的Editor窗口和工具来实现自己扩展编辑器的方法。

①OnGUI是用来创建调试工具、创建自定义属性面板、创建新的Editor窗口和工具达到扩展编辑器效果;

②EditorGUILayout.ObjectField表示选择物体;

③通过Font类来选择物体的参数为("被替换的字体", 被替换的字体, 字体类型, true);

④通过Font类来选择物体的参数为("替换的字体", 替换的字体, 字体类型, true);

⑤判断按钮控件是不是"一键替换" 是则调用更换字体方法。

2. 写一个更换字体的方法。

①获取当前场景是什么;

②判断当前场景是否保存,是则显示一个"请先保存当前场景"的对话框再返回;

③判断替换下去的字体和替换上来的字体是不是空的,是则显示一个对话框内容再返回;

④找到当前场景中所有的Text;

⑤显示一个"确定"的对话框;

⑥foreach循环一下场景中的Text,判断替换下去的字体是不是空的,不是空的再判断Text的字体等不等于替换下去的字体,如果不等于替换下去的字体则进行下一次循环,当替换下去的字体是空的时候,Text的字体则是替换上来的字体;

⑦显示一个"字体替换完成"的对话框。

图片

附上代码:

图片

代码完成后,在Unity中就可以看到通过代码添加的字体替换工具啦!如下图:

图片

图片


好啦,本篇分享的知识点篇幅过长,为了方便小伙伴们记忆与学习,我把它分为了上下两部分,今天就先分享到这里,我们下篇再见啦!

·END·

扫描二维码

⬇️

添加助教老师

⬇️

免费领取游戏策划4天训练营!

⬇️

  • 15
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值