我需要左右箭头键来移动2D球。但是,当我单击右一个球时,球有时会移到左侧,依此类推...而且是的,我正在使用Rigibody2D来做到这一点。
if (Input.GetKeyDown("right"))
{
bola.AddForce(transform.right * velocity,ForceMode2D.Force);
}
if (Input.GetKeyDown("left"))
{
bola.AddForce(-transform.right * velocity,ForceMode2D.Force);
}
答案 0 :(得分:2)
也许是由于您施加的力使球旋转,因此您使用了局部右旋,方向随旋转而变化。您应该尝试停用刚体旋转,或使用全局方向。
if (Input.GetKeyDown("right"))
{
bola.AddForce(Vector2.right * velocity,ForceMode2D.Force);
}
if (Input.GetKeyDown("left"))
{
bola.AddForce(-Vector2.right * velocity,ForceMode2D.Force);
}