box2d: GetLinearVelocity () для обнаружения движения?

#box2d

#box2d

Вопрос:

Довольно простой вопрос: подскажет ли мне результат b2Body::GetLinearVelocity , находится ли объект в движении? Я ожидал бы, что это произойдет — не так ли?

Ответ №1:

GetLinearVelocity() возвращает b2Vec2 . Вы могли бы использовать b2Vec2::Length() для определения величины скорости; если она равна нулю, объект не движется.

Ответ №2:

Это сообщило бы вам, движется ли тело. Однако также может случиться, что он вращается в одном месте вокруг начала координат и getLinearVelocity() вернет ноль. Поэтому, если вы хотите быть определенно уверены, что никакого движения не происходит, вам также следует проверить getAngularVelocity() .