我按“A”按钮时尝试移动对象,但它不起作用。我用'B'按钮测试并移动了物体。为什么刚体对“A”按钮没有反应?
if (Input.GetKeyDown(KeyCode.A))
rigidbody.AddForce(new Vector3(-5, 0, 0), ForceMode.Impulse);
答案 0 :(得分:0)
“W”,“A”,“S”,“D”将不起作用,因为它们在Unity中的默认设置中进行映射。在偏好键映射中的某处。
现在,如果你想使用“A”。我相信它被映射为“左”或“左”两个尝试。
如果你在这里查看。 http://docs.unity3d.com/ScriptReference/KeyCode.A.html
使用上面的代码是正确的。但是他们并没有告诉任何人你需要先重新映射控件。
现在由于某种原因,这对你不起作用。然后使用。
if (Input.GetKey(KeyCode.A))
请注意,没有Down。为什么这样做和GetKeyDown不工作?
因为WASD被捆绑为Accel用于Anolog目的。所以Down,将无法正常工作,它从0.0读到1.0不幸的是,对于键盘,它从0.0变为1.0但是对于控制器,你会得到不同的结果,这取决于你轻轻按压或者用力按压。