Как убрать отскок от сталкивающихся объектов в box2d? - PullRequest
1 голос
/ 19 февраля 2010

Я пытаюсь удалить объект в box2d, когда два объекта сталкиваются.

Когда два моих объекта сталкиваются, один объект отскакивает от другого.Он действительно удаляет другой объект, но я хочу, чтобы он выглядел так, как будто он прошел, а не отскок.

У меня установлен тип определения тела для b2_staticBody.

1 Ответ

2 голосов
/ 20 февраля 2010

Вы должны установить крепление тела в качестве датчика:

fixture->SetSensor(true);

Затем вы создаете прослушиватель контактов (class MyContactListener : public b2ContactListener), который обнаруживает столкновения в методе BeginContact и проверяет, относится ли один из сталкивающихся объектов к этому особому виду. Хороший способ сделать это, используя эти два метода:

/// Get the user data pointer that was provided in the body definition.
void* GetUserData() const;

/// Set the user data. Use this to store your application specific data.
void SetUserData(void* data);

Вы должны быть немного знакомы с C ++, чтобы справиться с этим.

...