Box2d контакты сложной формы - PullRequest
0 голосов
/ 19 января 2012

В моем приложении cocos2d box2d у меня есть два тела, первое имеет одно устройство прямоугольной формы, а другое - сложной формы.Я должен что-то посчитать, когда эти тела соприкасаются друг с другом.Проблема в том, что когда они сталкиваются, слушатель контакта обрабатывает более одного контакта прибора с первым корпусом (потому что они могут сталкиваться одновременно).Мне нужно обрабатывать только один контакт прибора каждый раз, есть ли способ достичь такого поведения?

1 Ответ

2 голосов
/ 19 января 2012

Используйте свойство userData тел box2d.Когда вы обрабатываете столкновение, установите для логического значения значение true и присвойте его пользовательским данным, а затем, прежде чем вызывать world->update, выполните цикл по всем своим телам и очистите это логическое значение.

...