我可以在创建空游戏对象时看到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时查看按钮?
谢谢
答案 0 :(得分:1)
为了仅在按下退出按钮时绘制Gui元素,请检查Input.GetKey(KeyCode.Escape)
然后它不会在每个帧上重置,并且在按下escape时将始终返回
答案 1 :(得分:1)
只需从Down
移除GetKeyDown
。
如果你想在Escape印刷机之间保持不变,请在每个isPanelVisible
上切换一个标志(类似GetKeyDown
),然后在标志为真时绘制UI。