Как остановить силы, действующие на тело в box2d - PullRequest
11 голосов
/ 25 сентября 2011

Я использую box2d на iphone для создания игры. У меня есть тело, которое под действием силы тяжести движется вниз, а не вправо или влево. Он будет поражен другим телом, а затем будет двигаться вправо или влево. Затем у меня есть кнопка сброса, которая перемещает тело обратно в исходную точку. Единственная проблема заключается в том, что он все еще движется вправо или влево. Как я могу противодействовать силам, что мяч уже путешествует? Как я могу избавиться от этого правого и левого движения, когда я перезагружаю свою игру?

1 Ответ

25 голосов
/ 25 сентября 2011

box2d автоматически очищает силы на каждом этапе симуляции.Я думаю, что вы просто меняете положение своего тела при сбросе, но не его скорость.Добавьте этот код в ваш метод сброса:

body->SetLinearVelocity(b2Vec2(0,0));
body->SetAngularVelocity(0);
...