我可以看到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 ?
谢谢
为了只在按下转义按钮时绘制Gui元素,检查Input.GetKey(KeyCode.Escape)
,然后它不会在每一帧上重置,并且在按下转义按钮时总是返回true
将Down
从GetKeyDown
中移除
如果你想在Escape键之间保持,在每个GetKeyDown
上切换一个标志(比如isPanelVisible
),然后在标志为真时绘制UI