如何以编程方式在Unity 3D中为UI文本设置字体

nix*_*x86 7 unity-game-engine

在我的游戏中,我有一个UI文本,我称之为"标签",我想以编程方式设置其字体.我试过这样做:

label.GetComponent<Text>().font="Arial";
Run Code Online (Sandbox Code Playgroud)

我收到一个错误,因为font属性不需要字符串而是字体.那么如何以编程方式将字体设置为Arial?

nix*_*x86 16

这有效:

label.GetComponent<Text> ().font = Resources.GetBuiltinResource(typeof(Font), "Arial.ttf") as Font;
Run Code Online (Sandbox Code Playgroud)

  • 也可以简化为:Resources.GetBuiltinResource <Font>("Arial.ttf") (3认同)

Rob*_*rdo 1

尝试在编辑器中创建 Font 类型的公共变量。

public Font myNewFont;
Run Code Online (Sandbox Code Playgroud)

那么你可以做类似的事情

label.GetComponent<Text>().font= myNewFont;
Run Code Online (Sandbox Code Playgroud)

无法测试它,但我认为它应该可以工作,这是一个非常相似的问题... 如何更改 Unity 中的字体类型?