C# Unity Input.GetButtonDown(“跳跃”)和Input.GetKeyDown(KeyCode.Space)始终为false
我无法检测是否按下了空格键,我有以下代码:C# Unity Input.GetButtonDown(“跳跃”)和Input.GetKeyDown(KeyCode.Space)始终为false,c#,unity3d,input,keydown,C#,Unity3d,Input,Keydown,我无法检测是否按下了空格键,我有以下代码: void Update() { // Working if (Input.anyKeyDown) { Debug.Log("anyKeyDown"); } // Not working if (Input.GetButtonDown("Jump")) { Debug.Log("GetButtonDown - Jump"); } // Not wo
void Update() {
// Working
if (Input.anyKeyDown) {
Debug.Log("anyKeyDown");
}
// Not working
if (Input.GetButtonDown("Jump")) {
Debug.Log("GetButtonDown - Jump");
}
// Not working
if (Input.GetKeyDown(KeyCode.Space) || Input.GetKeyDown("space")) {
Debug.Log("KeyCode.Space");
}
// Working
if (Input.GetKeyDown(KeyCode.A)) {
Debug.Log("A");
}
}
我可以检测到,例如,A
是否被单击,但对于Input.GetButtonDown(“跳转”)
或Input.GetKeyDown(KeyCode.Space)| Input.GetKeyDown(“Space”)
下面,您可以从我的控制台看到图像:
我正在使用默认的unityInput Manager
设置,我可以看到两个跳转配置:
您考虑过使用
if (Input.GetKeyDown("space"))
{
Debug.Log("space key was pressed");
}
相反?可能不在输入编辑器中使用2个跳转声明。制作一个并选择其轴到X
if (Input.GetKeyDown(KeyCode.Space))
{
}
如果使用Alt正片按钮将两个跳转合并为一个,会发生什么情况?基本上也不起作用,如果我将正片按钮的跳转
更改为任何其他字符,例如a
,我可以通过输入来检测它。GetButtonDown(“跳转”)
。看起来很奇怪。这里有一个信息提示考虑改用新的输入系统包,也许我会尝试这个方向是的,在我的代码片段中有它:Input.GetKeyDown(KeyCode.Space)| Input.GetKeyDown(“Space”)
Oops,我请便。在这种情况下,我唯一的猜测是,这是由两个输入同名引起的。如果您将后者更改为类似“JoystickJump”的内容,并将其作为OR添加到If语句中,那么它可能会起作用。还有,也许你还需要填写输入的描述性名称。你也尝试了这个,更改了输入的名称,但仍然没有成功。是的,在我的代码片段中有:input.GetKeyDown(KeyCode.Space)| input.GetKeyDown(“Space”)