纳金网

标题: Unity3d显示中文 [打印本页]

作者: 奔跑的小兔    时间: 2012-6-8 15:21
标题: 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配合着来用,很方便。
转自:http://www.cnblogs.com/gameprogr ... /04/02/2429707.html




欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5