一、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;
一旦字体被注册,就可以在整个项目中复用,而不需要重复加载字体资源。