在GUI标签上全局更改字体大小

时间:2017-08-26 11:11:17

标签: c# unity3d

我尝试在GUI标签上全局更改字体大小,但它给我一个错误:

  

MissingFieldException:UnityEngine.GUIStyle.fonSize       Boo.Lang.Runtime.DynamicDispatching.PropertyDispatcherFactory.FindExtension       (IEnumerable`1候选人)

这是我的代码

static var myScore = 0;
static var score = 0;
static var money = 0;
static var level = 0;
static var drinks = 0;
var fontSize  : int = 20;

public var guiSkin : GUISkin;

function OnGUI()
{
  GUI.skin = guiSkin;

  GUI.contentColor = Color.red;
  GUI.skin.label.fontSize = fontSize;
  GUI.Label(Rect((Screen.width / 2) - 60,15, 200, 30), "Score: " + score);
  GUI.Label(Rect((Screen.width / 2) - 60,30, 200, 30), "Money: " + money);
  GUI.Label(Rect((Screen.width / 2) - 60,42, 200, 30), "Level: " + level);
  GUI.Label(Rect((Screen.width / 2) - -320,25, 200, 30), "Drinks: " + drinks);
}

1 个答案:

答案 0 :(得分:2)

看起来你正在关注一些旧的教程。我建议你停止,因为你使用的旧GUI系统将来会被删除。避免任何需要OnGUI函数的东西,除非它是编辑器插件。

您应该使用Unity的新UI系统。在这种情况下,您需要Text组件,并且可以使用Text.font变量更改字体大小。有关Unity中的完整UI教程,请参阅this