Unity3d 如何检查钥匙是否被按下?

Unity3d 如何检查钥匙是否被按下?,unity3d,Unity3d,如何检查是否按下了任何键?Input.GetKeyDown功能不合适。例如,在按住键后,我希望我的角色升起盾牌,当我松开键时,角色降低盾牌。可能我使用的Input.GetKeyDown不正确。在Update()函数中,我编写了条件if(Input.GetKeyDown(KeyCode.LeftShift)){Protection();Debug.Log(“Key pressed LeftShift”);}当我在控制台中单击LeftShift时,它确实显示消息“Key pressed LeftSh

如何检查是否按下了任何键?
Input.GetKeyDown
功能不合适。例如,在按住键后,我希望我的角色升起盾牌,当我松开键时,角色降低盾牌。可能我使用的
Input.GetKeyDown
不正确。在
Update()
函数中,我编写了条件
if(Input.GetKeyDown(KeyCode.LeftShift)){Protection();Debug.Log(“Key pressed LeftShift”);}
当我在控制台中单击LeftShift时,它确实显示消息“Key pressed LeftShift”,但当我按住LeftShift键时,消息“按键左移”仅显示一次。

使用而不是

有什么区别? -按下一个键时触发一次

-在按住键的同时每帧触发一次

如果要使连续状态使用GetKey(),则只要按下键,GetKeyDown和GetKeyUp将返回true,而GetKeyDown和GetKeyUp仅在按下键或释放键的帧上返回true。您还应该提到GeyKey()不会在按下键的帧上触发,在该帧上仅获取GetKeyDowntriggered@nka_Zz谢谢你的帮助。在这个特殊的例子中,使用
Input.GetKeyDown()
Input.getkeydup()
不比只使用
Input.GetKey()更好吗
?如果需要在按键/释放时升高/降低护罩,按下按钮是否重要?