<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">在比较旧版本的ngui中(NGUI 3.0前),使用动态字体(dynamic font)一直是有碎片化的问题,网上有各种方法解决,用得最多的应该是在游戏一开始把动态字体的贴图导入很多字使贴图撑大。</span>
这种方法是因为在游戏过程中,如果锁屏或被其他应用中断等各种问题使游戏退到后台,动态字体贴图资源被释放,回来后的贴图与原来的贴图对不上,使获取的动态字体不对。
而撑大图片使得动态字体贴图的最小大小扩大,使得截取时没有问题
这种方法实行起来很简单:
在游戏一开始运行的脚本上的Start()函数中加上
1.[SerializeField] Font useFonts;
2.usedFonts.RequestCharactersInTexture(string, 26);
在编辑器上拖动字体到useFonts上,string也可以在编辑器上绑定一个文本文档.
但是这个方法在wp8上不适用。
官方网站说解决办法只有升级NGUI,但升级NGUI工程实在太大,只有在新版NGUI和旧版中debug找出原因
在旧版的NGUI中,UILabel在锁屏后不会跳转到函数MarkAsChanged ()中,这个函数就是记录这个label应该被刷新
<