如何解决按键后如何执行动作?
在按下大写字母后,我试图在Unity中隐藏文本,但是它不起作用,它在“ while”之前停止。 我是一个相当不称职的程序员,所以有经验的人吗?
private float TurnOffInfoText()
{
bool IsCapsPressed = Input.GetKeyDown(KeyCode.CapsLock);
while (IsCapsPressed == true)
{
EndOfGameText.enabled = false;
}
return 0;
}
解决方法
为什么它甚至返回值?
此外,您的while
循环将完全冻结整个应用程序,甚至冻结Unity编辑器应用程序!在循环内IsCapsPressed
的值永远不会改变!
我看不到从哪里调用您的方法,但是如果到目前为止您从未经历过冻结,那么“幸运的是”到目前为止,密钥永远不会在同一帧中消失。
通常,您宁愿每帧轮询一次输入。简单了解Input.GetKeyDown
的API:
private void Update ()
{
if(Input.GetKeyDown(KeyCode.CapsLock))
{
EndOfGameText.enabled = false;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。