Unity 2D中的速度如何在没有刚体的情况下获取对象的速度

时间:2018-09-30 19:31:40

标签: c# unity3d velocity gameobject rigid-bodies

通过使用方法transform.translate(Vector3.left * 5f * Time.Deltatime;来更改具有刚体的游戏对象的速度,因为在我的情况下它不起作用。是否有一种方法可以移动对象以使速度发生变化。在没有附加刚体的情况下测量物体速度的方法。谢谢。

2 个答案:

答案 0 :(得分:2)

您可以像这样测量速度矢量:

Vector3 pos, velocity;

void Awake()
{
    pos = transform.position;
}

void Update()
{
    velocity = (transform.position - pos) / Time.deltaTime;
    pos = transform.position;
}

答案 1 :(得分:0)

您可以使用Transform.hasChanged

        if (!this.transform.hasChanged)
        {
            print("Player is not moving");
        }
        transform.hasChanged = false;