我有一个b2_dynamicBody
我在_body->ApplyForce
屏幕上移动。
如果它向前或向后移动,我怎么知道?
我知道如何找出速度
b2Vec2 currentVelocity = _body->GetLinearVelocity();
float32 speed = currentVelocity.Normalize();
但不是向前或向后。
答案 0 :(得分:0)
您还可以使用不会更改值的currentVelocity.Length()
来获取速度。
如果你将向前定义为从左到右(增加X),那么如果currentVelocity.x&gt;你的身体正向前移动如果x <0,则返回0如果向前是,则y> 0是向前,y < 0是向后的。
答案 1 :(得分:0)
速度是一个矢量,由大小和方向组成。通常,轴上的方向由值的符号表示。
我想说如果身体相对速度的y部分为负,你可以说身体正在向后移动。