Unity 2D中的速度如何在没有刚体的情况下获得物体的速度
Velocity in Unity 2D How to get velocity of object without rigidbody
通过使用方法 transform.translate(Vector3.left * 5f * Time.Deltatime;
这是否会改变具有刚体的游戏对象的速度,因为在我的情况下它 work.Is 我没有办法移动物体从而改变速度。如果如果没有附加刚体,则没有任何方法可以测量物体的速度。谢谢
您可以这样测量速度矢量:
Vector3 pos, velocity;
void Awake()
{
pos = transform.position;
}
void Update()
{
velocity = (transform.position - pos) / Time.deltaTime;
pos = transform.position;
}
您可以使用Transform.hasChanged
if (!this.transform.hasChanged)
{
print("Player is not moving");
}
transform.hasChanged = false;
通过使用方法 transform.translate(Vector3.left * 5f * Time.Deltatime;
这是否会改变具有刚体的游戏对象的速度,因为在我的情况下它 work.Is 我没有办法移动物体从而改变速度。如果如果没有附加刚体,则没有任何方法可以测量物体的速度。谢谢
您可以这样测量速度矢量:
Vector3 pos, velocity;
void Awake()
{
pos = transform.position;
}
void Update()
{
velocity = (transform.position - pos) / Time.deltaTime;
pos = transform.position;
}
您可以使用Transform.hasChanged
if (!this.transform.hasChanged)
{
print("Player is not moving");
}
transform.hasChanged = false;