我是KSP创作的新手,试图为我的模组制作一个GUI。我发现了在GUI元素上显示文本的问题。例如,我创建了一个带有按钮的窗口,而窗口没有标题,按钮上没有文本。按钮是工作的,单击后我会看到调试消息。
我试图使用GUI而不是GUILayout,但也有同样的问题。我试图在HighLogic.Skin.window中使用GUILayout.Window(0, this.windowRect, this.DrawWindow, "Title", HighLogic.Skin.window)窗口,我看到了窗口的标题,但是如果在GUILayout.Button("Press me", HighLogic.Skin.button)中使用HighLogic.Skin.button,我又遇到了这个问题。所以,我不知道怎么解决它。
代码:
using UnityEngine;
namespace KCSS
{
[KSPAddon(KSPAddon.Startup.MainMenu, false)]
public class KCSS : MonoBehaviour
{
private Rect windowRect;
private void DrawWindow(int id)
{
if(GUILayout.Button("Press me"))
{
Debug.Log("[KCSS mod] <color=#f1a12e>Action:</color> Button pressed");
}
GUI.DragWindow();
}
public void Awake()
{
Debug.Log("[KCSS mod] <color=#66cccc>Load:</color> KCSS main class");
this.windowRect = new Rect(50, 50, 150, 100);
}
public void OnGUI()
{
this.windowRect = GUILayout.Window(0, this.windowRect, this.DrawWindow, "Title");
}
}
}问题截图:在标题和按钮上没有文本
如果我使用HighLogic.Skin:没有按钮文本
发布于 2020-04-19 15:07:12
我通过安装ttf-ms-fonts修复了它。如果你是在Linux上,你必须这样做,如果制造KSP。
https://stackoverflow.com/questions/61304237
复制相似问题