查看: 2956|回复: 0
打印 上一主题 下一主题

Unity3d显示中文

[复制链接]

1602

主题

1

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
24658
精华
6

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-6-8 15:21:35 |只看该作者 |倒序浏览
最方便的思路大概就是用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
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-7-17 12:46 , Processed in 0.066400 second(s), 28 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部