允许GUI停留在屏幕上按下按钮
本文关键字:按钮 屏幕 GUI 停留在 允许 | 更新日期: 2023-09-27 18:11:16
当我按Tab键时,我如何使GUI标签和框留在屏幕上-这段代码目前允许它出现,但当你释放Tab键时,它消失了。谢谢你
public void OnGUI()
{
if (Input.GetKey(KeyCode.Tab))
{
GUI.contentColor = Color.white;
GUI.Box(new Rect(1000, 5, 400, 400), "What You Should Know");
GUI.Label(new Rect(1135, 5, 400, 400), "___________________");
GUI.Label(new Rect(1145, 23, 400, 400), "<color=cyan><size=20>The </size></color>" + "<color=cyan><size=20>" + this.cdrw + "</size></color>");
}
}
Tab键释放后,Input.GetKey(KeyCode.Tab)
返回false
。如果您希望总是在第一次按Tab后显示GUI元素,您可以在Input.GetKey(KeyCode.Tab)
为true
时修改布尔标志,并使用该标志作为显示/隐藏GUI的条件。例如:
bool showGui = false;
public void Update(){
if (Input.GetKey(KeyCode.Tab))
{
showGui = true;
}
}
public void OnGUI()
{
if (showGui)
{
GUI.contentColor = Color.white;
GUI.Box(new Rect(1000, 5, 400, 400), "What You Should Know");
GUI.Label(new Rect(1135, 5, 400, 400), "___________________");
GUI.Label(new Rect(1145, 23, 400, 400), "<color=cyan><size=20>The </size></color>" + "<color=cyan><size=20>" + this.cdrw + "</size></color>");
}
}
希望这对你有帮助!如果你有任何问题,请告诉我。
EDIT:如果你想用Tab键切换GUI的可见性,你可以使用Input.GetKeyDown(KeyCode.Tab)
(它只触发Tab键被按下的第一帧),并且每次Tab键被按下时改变你的Update()
来否定showGui
:
public void Update(){
if (Input.GetKeyDown(KeyCode.Tab))
{
showGui = !showGui;
}
}