OnGUI and Key Press

本文关键字:Press Key and OnGUI | 更新日期: 2023-09-27 17:49:41

我可以看到UI结果,当我创建一个空的游戏对象,附加一个脚本到它包含以下代码,并按下播放:

public class OnGUI_test : MonoBehaviour
{
    void OnGUI ()
    {
            GUILayout.BeginArea(new Rect(10, 10, 100, 100));
            GUILayout.Button("Click me!");
            GUILayout.EndArea();
    }
}

但是为什么当我试图添加代码来检查按键时,下面的代码不运行?

public class OnGUI_test : MonoBehaviour
{
    void OnGUI ()
    {
        if ( Input.GetKeyDown( KeyCode.Escape ) )
        {
            GUILayout.BeginArea(new Rect(10, 10, 100, 100));
            GUILayout.Button("Click me");
            GUILayout.EndArea();
        }
    }
}

我做错了什么,我怎么能纠正它看到按钮时按下Esc ?

谢谢

OnGUI and Key Press

为了只在按下转义按钮时绘制Gui元素,检查Input.GetKey(KeyCode.Escape),然后它不会在每一帧上重置,并且在按下转义按钮时总是返回true

DownGetKeyDown中移除

如果你想在Escape键之间保持,在每个GetKeyDown上切换一个标志(比如isPanelVisible),然后在标志为真时绘制UI