如何更改guilayout.label字体大小?

时间:2018-08-24 19:37:54

标签: c# unity3d

private void OnGUI()
    {
        GUIStyle myStyle = new GUIStyle();
        myStyle.fontSize = 20;

        GUILayout.BeginVertical(GUI.skin.box);
        GUILayout.Label("Replacing");
        GUI.Label(new Rect(650, 650, 300, 50), "HELLO WORLD", myStyle);
    }

我看到了更换标签,但是它的字体很小。因此,我想使用新的Rect来测试更改大小,但是我看不到HELLO WORLD。

2 个答案:

答案 0 :(得分:1)

由于您传递给Rect结构的值,Rect正在显示但对您不可见。在xy参数中传递到Text结构的650和650值似乎大于实际的屏幕尺寸。将其减少到大约100,您应该可以看到GUI.Label(new Rect(100, 100, 300, 20), "Hello World!", myStyle);

Screen.height

如果您希望UI显示是动态的,建议您使用Screen.heightGUI.Label(new Rect(Screen.height / 2, Screen.height / 2, 300, 20), "Hello World!", myStyle); 来确定GUI元素的放置位置,并确保不管屏幕大小如何,该元素都可以工作。 / p>

例如:

element.innerText

最后,我认为这是基于您其他问题的编辑器代码。如果不是,那么您应该将新的UI系统与Text组件一起使用。

答案 1 :(得分:0)

我正在使用两个选项: 这个

<!-- Dynamic height from flex-1 -->
<div class="flex-1 relative">
  <!-- SVG height not fitting to flexible item height -->
  <svg viewBox="0 0 100 100" class="max-h-full absolute inset-0" >
    <circle cx="50" cy="50" r="45" fill="transparent" stroke-width="5"
      class="stroke-current text-blue-500" />
  </svg>

或这个

GUIStyle headStyle = new GUIStyle();
headStyle.fontSize = 30; 
GUI.Label(new Rect(Screen.width / 3, Screen.height / 2, 300, 50), "HELLO WORLD", headStyle);