Только Интеграция обнаружения столкновений Box2D в моем 2d движке? - PullRequest
5 голосов
/ 06 мая 2010

Я интегрировал box2d в свой движок (отладка и т. Д.) И в мире, который я могу добавить в 2d квадраты / прямоугольники и т. Д.

Я видел этот пост, где пользователь практически не использует мир для обнаружения столкновений, однако пользователь ничего не объясняет о том, как он использует коллектор (b2Manifold) и т. Д.

Другой пост , находится на форуме cocos2d, (прокрутите вниз до пользователя Lam в третьем ответе)

Может ли кто-нибудь помочь мне с этим немного? В основном хотите добавить обнаружение столкновений без необходимости использования b2World и т. Д. И т. Д.

Большое спасибо!

Ответы [ 2 ]

2 голосов
/ 08 сентября 2010

Есть ли причина, по которой вы не можете использовать b2World? То, что вы используете его, не означает, что вы должны использовать физические симуляции, если только вы не сильно ограничены в производительности.

См. Этот пример использования Box2D для столкновения только в Cocos2d. Может быть, вы можете применить что-то похожее на ваш проект: http://www.raywenderlich.com/606/how-to-use-box2d-for-just-collision-detection-with-cocos2d-iphone

2 голосов
/ 01 июля 2010

Код в обоих постах мне кажется законченным. Вы начинаете с двух многоугольников и соответствующих им преобразований, а из b2CollidePolygons вы получаете контактный коллектор.

b2Manifold - это просто набор точек, в которых пересекаются границы двух фигур. В размещенном коде автор использует, что, если количество точек коллектора больше нуля, происходит наложение. В зависимости от характера фигур может быть разное количество точек пересечения, когда они перекрываются.

Обратите внимание, что обработка столкновений в b2World достаточно надежна. Помимо простых запросов о столкновениях, он имеет широкий выбор фазы, приведение лучей, пространственное дерево, события начала и конца контакта, эффективное управление памятью, чтобы назвать некоторые вещи. В API есть классы для большинства из этих задач, но я не могу сказать, что знаком с их использованием вручную. Может быть стоит посмотреть.

...