繁体   English   中英

如何在2D对象上使用addforce移动它

[英]How to use addforce on a 2d object to move it

我需要使用左右箭头键来移动2D球。 但是,当我单击右边的球时,球有时会移到左边,依此类推...而且是的,我正在使用Rigibody2D来做到这一点。

 if (Input.GetKeyDown("right"))
    {
        bola.AddForce(transform.right * velocity,ForceMode2D.Force);
    }

    if (Input.GetKeyDown("left"))
    {
        bola.AddForce(-transform.right * velocity,ForceMode2D.Force);
    }

也许您的球由于施加的力而旋转,因此您使用了局部右旋,方向随旋转而变化。 您应该尝试停用刚体旋转,或使用全局方向。

if (Input.GetKeyDown("right"))
{
    bola.AddForce(Vector2.right * velocity,ForceMode2D.Force);
}

if (Input.GetKeyDown("left"))
{
    bola.AddForce(-Vector2.right * velocity,ForceMode2D.Force);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM