如何在Unity中更改字体类型?

时间:2014-08-19 01:25:45

标签: c# unity3d ngui

如何编程以便我可以将字体类型更改为:Coalition或Arial ...

这是我目前的代码......

using UnityEngine;
using System.Collections;

public class InvSlotHandler : MonoBehaviour {

    private int excess = 1;
    UILabel lbl;

    void Start() {

        GameObject label = new GameObject();
        lbl = label.AddComponent<UILabel>();

        label.transform.name = "#QTY";
        lbl.fontStyle = FontStyle.Normal;
        lbl.fontSize = 15;
        lbl.alignment = NGUIText.Alignment.Right;

        NGUITools.AddChild (gameObject.transform.gameObject, label.gameObject);
    }

    void FixedUpdate() {
        lbl.text = gameObject.transform.childCount - excess + "";
    }
}

1 个答案:

答案 0 :(得分:1)

以下是如何更改 NGUI 中使用动态字体 UILabel 字体的示例。

标签显示原始字体中的某些文字2秒钟,然后切换到另一种字体(您在检查器中指定给 otherFont 的字体)

using UnityEngine;
using System.Collections;

public class ChangeFont : MonoBehaviour {

    public UILabel label; 
    public Font otherFont;

    IEnumerator Start() {
        label.text = "This is a bit of text"; //show text
        yield return new WaitForSeconds(2f); //wait 2 seconds
        label.trueTypeFont = otherFont; //change font
    }

}

如果您的标签设置为使用位图字体,则您需要将 UIFont 分配给 label.bitmapFont 。< / p>