Unity使用FGUI项目TTF字体动态批量替换

最近一个Unity项目首次使用了FGUI来作为UI编辑器遇到了一个TTF字体批量替换的问题。

因为我们的项目需要发不同的地区,由于每个地区的文字不一样一般一个字体包的多语言的表现不是很好,所以我们需要用到多个TTF字体来匹配不同的语言;

有朋友说发包时分地区去手动替换字体的方式,这样的做法是不可取的,太花时间和经历了,且有可能会遗漏掉一些地方没有替换到;

所以我们需要做动态监测当前系统语言,且替换文本的字体为与当前语言所匹配的字体;

我们的思路大致就是打开一个界面的时候先找到他下边的所有文本对象,修改它的字体;

TTF字体需要放到Resources或者Resources/Fonts文件夹下;

流程如下:

1.查看了运行状态下界面下每个对象身上都挂载了脚本DisplayObjectInfo  。

2.这个脚本管理了一个DisplayObject类,   DisplayObject是所有FGUI显示对象的基类。

3.我们在界面的基类中需要创建一个 静态变量(用来存保存当前字体的名称)和一个静态方法(用来传入当前字体的名称)。

4.在游戏开始运行时所有界面打开之前 检测系统语言 然后 通过界面基类的静态方法传入当前要使用的字体名称。

5.在界面基类的初始化方法中获取到当前界面下的所有子对象的DisplayObjectInfo脚本,判断DisplayObject的类如果是TextField类就将它转为TextField类然后设置字体就行了。

 

 

有什么不明白的可以联系我QQ:1253263299 备注来意

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值