【Unity3D】【NGUI】移动设备上使用动态字体Label显示不正确
来源:互联网 发布:淘宝搜索排名 编辑:程序博客网 时间:2024/05/01 05:10
NGUI讨论群:333417608
这个博客解决的是Label各种碎的问题(显示文字不对),如果是模糊的话不要看这个。
方法1:
升级Unity到4.3版本以上
方法2:
首先,需要一个文本,这个文本就是你项目的字典(如果没有,自己研究下)
之后,在游戏启动的时候实现以下步骤:
1、载入字典txt,所有的文字放到一个string里面(暂且叫做languageString)
(3.0以前版本)
2、通过全局配置或者其他任何方式,找到你的UIFont变量font(可以在任意的label上直接取得)
3、调用font.dynamicFont.RequestCharactersInTexture(languageString, font.dynamicFontSize, font.dynamicFontStyle)
(3.0(含)以后版本)
2、通过全局配置或者其他任何方式,找到你的动态字体Font变量font
3、调用NGUIText.RequestCharactersInTexture(font, languageString)应该就可以了。
问题的根本原因不是很了解,但是我想问题应该出现在动态字体创建的texture大小上。
一般问题是出现在切换界面的时候,所以应该是这个时候,如果texture大小不够用,重新调整了texture,导致之前的texture的uv对应不上。
通过上面的方法,在游戏最开始就会创建一个2048*1024大小的texture(我用的是3000多个常用汉字只有不到2M,因为是纯色的图)
所以不会浪费太多内存,也比使用bitmap子图省。
提供一个3.0.7的脚本。之前版本的自己看着改吧。
using UnityEngine;using System.Collections;/// <summary>/// SZUI dynamic font problem fix. /// Usage : attach this to a gameobject or use SZUIDynamicFontProblemFix.DynamicFontProblemFix/// </summary>public class SZUIDynamicFontProblemFix : MonoBehaviour {/// <summary>/// The font. your ttf/// </summary>public Font font;/// <summary>/// The text. your language file/// </summary>public TextAsset text;private static bool isFixed = false;private static SZUIDynamicFontProblemFix inst;private static SZUIDynamicFontProblemFix Inst{get{if (inst == null){GameObject go = new GameObject(typeof(SZUIDynamicFontProblemFix).Name);inst = go.AddComponent<SZUIDynamicFontProblemFix>();}return inst;}}void Awake(){if (inst == null){inst = this;}if (inst != null && inst != this){Destroy(this.gameObject);return;}DynamicFontProblemFix();}public static void DynamicFontProblemFix(){if (!isFixed){isFixed = true;NGUIText.RequestCharactersInTexture(Inst.font, Inst.text.text);}}}
0 0
- 【Unity3D】【NGUI】移动设备上使用动态字体Label显示不正确
- NGUI 动态改变Label字体
- Unity3D的NGUI图层显示顺序不正确
- 【Unity3D】【NGUI】渐变label
- Unity3D中NGUI的动态字体(TTF)制作方法!!!
- Unity3D中NGUI的动态字体(TTF)制作方法!!!
- Unity3d NGUI的使用(十二)(UIGrid动态列表显示)
- Unity3d NGUI的使用(十二)(UIGrid动态列表显示)
- [Unity3D] Dynamic Font for NGUI 2.5.0c,动态字体脚本支持NGUI最新版本
- NGUI动态字体教程
- NGUI动态字体教程
- 制作NGUI动态字体
- NGUI动态字体教程
- 制作NGUI动态字体
- NGUI创建动态字体
- label显示不同字体
- 【Unity3D】【NGUI】如何在UI上显示3D模型
- Unity3D NGUI如何在UI上显示3D模型
- 一般处理程序中读写 cookie
- Above Average
- Android消息队列处理消息
- Task Parallelism
- struct 随笔
- 【Unity3D】【NGUI】移动设备上使用动态字体Label显示不正确
- Silverlight 如何导出图片
- 黑马程序员-高新技术-1.5新特性之静态导入、可变参数、增强for循环
- 宏定义中使用do{}while(0)的好处
- Myeclipse10安装以及破解方法
- build/envsetup.sh分析
- Maven_maven-android-sdk-deployer / pom.xml
- Live555库和视频RTSP流解析
- 【Java TCP/IP Soket】— 剖析TCP套接字连接