這篇文章使用到的插件(Plugins)請參考置頂文章
由於NGUI內建的字型無法顯示中文(或者是顯示出來的中文字非常非常小),所以如果要顯示中文,必須使用有中文的字型!
在這邊使用標楷體作示範。
新增一個Project,再來選擇Assets → Import Package → Custom Package引入NGUI
之後選擇 NGUI → Create → Label
將字型放到該專案的資料夾內(我放在Assets資料夾內)之後新增一個C# script,命名為test
選取Label,看它的Inspector,將UILabel(Script)的NGUI改為Unity
再來點選它右邊的Font,會跳出Select a Font視窗,點選Show All,會出現該專案內的全部字型,此時選擇我們剛剛新增的字型
都選好後就像這樣(請記住,字型的字體大小和顯示文字都在UILabel這個Script內!)
由於Unity本身無法輸入中文,所以若要顯示中文則必須使用程式碼來動態修改!!
開啟我們剛開始新增的C# script腳本test,輸入以下程式碼
using UnityEngine;
using System.Collections;
public class test : MonoBehaviour
{
UILabel show; //NGUI的Label
void Start()
{
show = GameObject.Find("UI Root/Label").GetComponent<UILabel>();//給予Label的路徑
show.text = "中文字型出現了!";//要顯示的中文字串
show.fontSize = 20;//字型的大小
show.color = Color.black;//字體顏色為黑色
}
void OnGUI()
{
if (GUI.Button(new Rect(0, 0, 100, 50), "終於顯示中文了") == true)
{
show.text = "終於顯示中文了";
show.fontSize = 60;
}
}
}
然後將此C# script拖到任意元件上(我將它放到UI Root上)後執行!
按下左上角的Button後...
注意!若發現不管怎麼調整字型大小,字都無法在變大的時候,記得調整Label本身的範圍
(此圖中New Label周圍的框線為預設大小,會限制字的大小,不讓字跑出這個範圍)
留言列表