通知设置 新通知
FairyGUI 在 Unity 中异步加载字体
Unity • hwei 发表了文章 • 0 个评论 • 113 次浏览 • 2025-10-23 17:07
为了解决这个问题,我们不用等待字体下载好,先提前显示 UI。
此时 UI 中的中文可能会无法显示。
不过没关系,等字体下载好再用下面这个函数来加载字体:
public static void SetFont(string name, Font font)
{
// 如果其他 UI 已经用过 name 字体,则获得该字体的动态字体对象,否则 GetFont 会自动返回一个默认动态字体。
var dynamicFont = FairyGUI.FontManager.GetFont(name) as FairyGUI.DynamicFont;
// 无论如何,更新这个字体背后的 Unity Font 对象
dynamicFont.nativeFont = font;
// version 变化会触发使用到这个字体的 UI 刷新
dynamicFont.version += 1;
}于是就做到了异步加载字体。
进一步优化:先用一个体积比较小的字体覆盖所有 UI 用到的字体,让中文先可读。然后等体积大的正式字体下载完毕再覆盖上去,提升画面效果。 查看全部
为了解决这个问题,我们不用等待字体下载好,先提前显示 UI。
此时 UI 中的中文可能会无法显示。
不过没关系,等字体下载好再用下面这个函数来加载字体:
public static void SetFont(string name, Font font)于是就做到了异步加载字体。
{
// 如果其他 UI 已经用过 name 字体,则获得该字体的动态字体对象,否则 GetFont 会自动返回一个默认动态字体。
var dynamicFont = FairyGUI.FontManager.GetFont(name) as FairyGUI.DynamicFont;
// 无论如何,更新这个字体背后的 Unity Font 对象
dynamicFont.nativeFont = font;
// version 变化会触发使用到这个字体的 UI 刷新
dynamicFont.version += 1;
}
进一步优化:先用一个体积比较小的字体覆盖所有 UI 用到的字体,让中文先可读。然后等体积大的正式字体下载完毕再覆盖上去,提升画面效果。
FairyGUI导出选中的xml配置后,导出的目录结构和当前工作的目录结构不一致
回复编辑器使用 • gaxlin 发起了问题 • 1 人关注 • 0 个回复 • 150 次浏览 • 2025-09-04 10:07
在FairyGUI編輯器中,Spine的透明度異常、切圖會比預期的大
回复编辑器使用 • AlanHung 发起了问题 • 1 人关注 • 0 个回复 • 201 次浏览 • 2025-08-04 15:39
使用CreateObjectAsync, 组件出场音效首次播放失败
回复Unity • eggbbq 发起了问题 • 1 人关注 • 0 个回复 • 183 次浏览 • 2025-07-20 11:42
cocos2.2.1,使用装载器GLoader ,加载url,,url是https地址的,,,在安卓手机上不显示,,麻烦可以看一下这个问题吗
回复CocosCreator • cocos0524 发起了问题 • 1 人关注 • 0 个回复 • 311 次浏览 • 2025-07-16 19:08
Cocos creator3.8项目 其中使用了第三方字体 由Cocos creator预览后字体没有显示
回复CocosCreator • IssacLynx 发起了问题 • 1 人关注 • 0 个回复 • 370 次浏览 • 2025-05-22 20:38
用VS2019打开 FairyGUI-unity-master编译报错:错误 CS0246 未能找到类型或命名空间名“FairyGUI”
回复Unity • liaopf 发起了问题 • 1 人关注 • 0 个回复 • 235 次浏览 • 2025-05-16 14:29
How to make FairyGUI work in Unity 6?
回复Unity • afw 发起了问题 • 1 人关注 • 0 个回复 • 607 次浏览 • 2025-03-26 10:04