zoukankan      html  css  js  c++  java
  • 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配合着来用,很方便。

  • 相关阅读:
    laravel 资源控制器方法列表
    laravel 用户认证简单示例
    使用Faker库生成模拟数据
    js获取世界不同时区的当前时间
    html2canvas将页面内容生成图片
    canvas绘制环形进度条
    H5 实现图片上传预览
    js实现复制内容到粘贴板
    node.js创建简单服务测试请求数据
    ES6语法知识
  • 原文地址:https://www.cnblogs.com/gameprogram/p/2429707.html
Copyright © 2011-2022 走看看