Как изменить тип шрифта в Unity?

Как мне запрограммировать его, чтобы я мог изменить тип шрифта на: 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 + "";
    }
}

person Savish Khan    schedule 19.08.2014    source источник


Ответы (1)


Вот пример того, как изменить шрифт UILabel, который использует динамический шрифт в NGUI.

Метка показывает некоторый текст в исходном шрифте в течение 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.

person col000r    schedule 19.08.2014
comment
Приведенный выше код предполагает, что вы вручную назначите метку UILabel. - person Rudolfwm; 19.08.2014
comment
Это правильно. Насколько я знаю, нет способа получить список доступных шрифтов во время выполнения. Однако вы можете получить встроенный шрифт Arial по умолчанию, выполнив следующие действия: label.trueTypeFont = Resources.GetBuiltinResource(typeof(Font), Arial.ttf) as Font; - person col000r; 20.08.2014
comment
О, спасибо: Resources.GetBuiltinResource(typeof(Font), Arial.ttf) Сделал трюк - person Savish Khan; 21.08.2014