Unity3D显示中文

最方便的思路大概就是用GUISkin了。

 

先在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配合着来用,很方便。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值