FairyGUI框架下unity发布微信小游戏问题记录

一、unity发布微信小游戏中文字体不显示

在unity中发布WebGl项目时,如果使用的是默认字体就会出现中文字体丢失现象。

这个是在unity中

这个是在微信开发者工具里面显示的

解决办法:

打开我的电脑 C:\Windows\Fonts

随便找一个文件结尾为.ttf的字体,然后复制到Assets下的Font中

然后将该字体再文本中使用,再次发布WebGl项目就能正常显示了

二、在FairyGUI框架unity使用自定义字体

首先将字体文件导入unity中,放在Assets/Resources/Fonts文件中,没有就新建一个。

2.设置默认字体

在FairyGUI中使用DynamicFont类来注册字体。

这样新创建的所有文本组件都会使用这个字体。示例代码如下:

// 注册字体
FontManager.RegisterFont(new DynamicFont("afont", Resources.Load<Font>("Fonts/lolhex")));
// 设置为默认字体
UIConfig.defaultFont = "afont";

代码分析:这行代码尝试创建一个新的DynamicFont实例,并使用Resources.Load方法加载位于Resources文件夹子目录下的字体资源。

第一个参数"afont"是为DynamicFont实例设置的名称,这个名称将用于在FairyGUI中引用这个字体。

第二个参数是字体资源的路径,它应该指向Resources目录下的一个字体文件。

然后,使用FontManager.RegisterFont方法注册这个DynamicFont实例。

3.设置文本字体为新注册的字体

child.asTextField.text = str; 
// 设置字体为新注册的字体
TextFormat format = child.asTextField.textFormat;
format.font = "afont";
child.asTextField.textFormat = format;

一旦字体被注册,就可以在整个项目中复用,而不需要重复加载字体资源。

猜你喜欢

转载自blog.csdn.net/2301_79022588/article/details/140002072