身体前进或后退box2d

时间:2011-02-22 10:54:58

标签: box2d velocity forward

我有一个b2_dynamicBody我在_body->ApplyForce屏幕上移动。

如果它向前或向后移动,我怎么知道?

我知道如何找出速度

b2Vec2 currentVelocity = _body->GetLinearVelocity();

float32 speed = currentVelocity.Normalize();

但不是向前或向后。

2 个答案:

答案 0 :(得分:0)

您还可以使用不会更改值的currentVelocity.Length()来获取速度。

如果你将向前定义为从左到右(增加X),那么如果currentVelocity.x&gt;你的身体正向前移动如果x <0,则返回0如果向前是,则y> 0是向前,y < 0是向后的。

答案 1 :(得分:0)

速度是一个矢量,由大小和方向组成。通常,轴上的方向由值的符号表示。

我想说如果身体相对速度的y部分为负,你可以说身体正在向后移动。