Unity3D显示中文
2013-10-18 14:58
302 查看
最方便的思路大概就是用GUISkin了。
先在windows的Font文件夹下弄来一个中文字体比如宋体.ttf,把这个字体文件放在unity3d的Assets目录下。这样unity3d就会自动加载这个字体。要使用这个字体还需要建立一个GUISink。Assets->Creat->GUI Sink。建立好GUISink后点开属性,最上面Font项的字体改为新加入的中文字体。
这边我发现依然不能显示中文,得把Font中的Character变为unicode才可以。。
这样就可以显示中文了。。
接下来要做的是从文本文件中读取中文并显示。
可以用到TextAsset这个东西,然后用C#的IO来一行行读取。
文本须存为unicode的格式。
另一种方法是,把要用的文字做成图片来显示。bitmap方式
http://www.angelcode.com/products/bmfont/
上面是一个文字生成工具,很不错。
和UIToolkit配合着来用,很方便。
先在windows的Font文件夹下弄来一个中文字体比如宋体.ttf,把这个字体文件放在unity3d的Assets目录下。这样unity3d就会自动加载这个字体。要使用这个字体还需要建立一个GUISink。Assets->Creat->GUI Sink。建立好GUISink后点开属性,最上面Font项的字体改为新加入的中文字体。
这边我发现依然不能显示中文,得把Font中的Character变为unicode才可以。。
using UnityEngine; using System.Collections; public class Font : MonoBehaviour { public GUISkin mySkin; void OnGUI(){ if(mySkin){ GUI.skin = mySkin; } GUI.Button(new Rect(10,10,50,50),"字体显示测试"); } }
这样就可以显示中文了。。
接下来要做的是从文本文件中读取中文并显示。
可以用到TextAsset这个东西,然后用C#的IO来一行行读取。
void LoadDataFromTxt(string filename) { TextAsset txtAsset = (TextAsset)Resources.Load("Config/"+filename.Split('.')[0]); StringReader reader = new StringReader(txtAsset.text); string line; string[] lineData; line = reader.ReadLine(); while (line != null) { lineData = line.Split(''); line = reader.ReadLine(); } }
文本须存为unicode的格式。
另一种方法是,把要用的文字做成图片来显示。bitmap方式
http://www.angelcode.com/products/bmfont/
上面是一个文字生成工具,很不错。
和UIToolkit配合着来用,很方便。
相关文章推荐
- Unity3D中NGUI显示清晰中文字体或图集
- Unity3d 移动平台中文显示问题
- Unity3D显示中文字体
- unity3D 自定义显示中文
- Unity3D显示中文的各种方案的比较
- unity3d链接postgresql,读数据库内容并且显示(读出的中文在编辑器中乱码,发布standalone正常)
- Unity3D显示中文的各种方案的比较
- Unity3D技术之环境中文显示详解
- c#使用中文注释和显示乱码问题(unity3d)
- [Unity3D] monodevelop 在 MacOS 中文显示解决方法
- Unity3d中文在部分机型显示不全解决方案
- Unity3d显示中文
- avr+ks0108屏显示中文解决方案
- JIRA中显示中文显示为乱码“口口口”的解决方式(CentOS)
- CEGUI显示中文解决办法
- 关于cmd命令提示行不能显示中文
- python 打印数组中文显示为'\xe6\xb5\x8b\xe8\xaf\x95\xe4\xb8\xbb\xe6\x9c\xba‘’
- ubuntu终端中显示中文
- Ubuntu中Flash无法显示中文的解决办法
- 解决iReport预览pdf或excel中文显示问题(转)