Сила, приложенная в объекте box2d после столкновения - PullRequest
0 голосов
/ 01 августа 2011

У меня есть снаряд и башня. Когда я бросаю снаряд, он попадает в башню. В зависимости от силы удара башня разрушена. Теперь мне нужно знать, как получить силу, которая применяется к этим двум объектам, когда они сталкиваются (не до столкновения, а после столкновения). Я знаю, в следующем методе они рассчитываются -

void MyContactListener::PostSolve(b2Contact* contact, const b2ContactImpulse *impulse)
{
    force=impulse->normalImpulses[0];
}

это дает мне общую примененную силу, но я хочу знать, какая индивидуальная сила применяется к двум различным объектам.

И еще один вопрос, этот метод находится в подклассе класса b2ContactListener. Как передать это значение в gameScene, где объект будет уничтожен.

1 Ответ

1 голос
/ 01 августа 2011
  1. Один и тот же импульс применяется к обоим телам (разумеется, в противоположных направлениях).

  2. Вам понадобится переменная, видимая как для обратного вызова PostSolve, так и везде, где вам нужно ее использовать - можно использовать глобальную или классовую переменную.

...