Чистый способ обнаружения столкновения объекта с box2d - PullRequest
1 голос
/ 16 сентября 2011

Я в последнее время изучал box2d (в java с libgdx) и пытался создать свой собственный эффект отскока (я увеличиваю Restitution после первого отскока)

Чтобы сделать это какtest Я просто проверил местоположение объекта и дождался первого отскока.

Но теперь я захотел реализовать это и столкнулся с проблемой: как обнаружить столкновение двух конкретных объектов в box2d?

Я нашел этот урок: Обнаружение столкновения box2d - но я очень неохотно использую этот код.Должен быть более простой и понятный способ обнаружения столкновения между двумя объектами (без необходимости устанавливать пользовательские данные и проверять все столкновения с гигантскими if() условиями ...)

Может кто-нибудь мне помочь?(при условии, что я не просто полон надежд и на самом деле есть лучший способ)

Ответы [ 2 ]

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

Подкласс b2ContactListener класс для обработки коллизий и повторных реализаций коллбэков. Тогда просто:

MyContactListener *listener = new MyContactListener();
myB2World->SetContactListener(listener);
0 голосов
/ 13 ноября 2012

И обратите внимание, некоторые решения не имеют ярлыков, как всегда, но вы можете найти правильное решение, и, возможно, есть сотни способов обнаружить столкновение, и вы это знаете, не так ли? Это похоже на решение программы обнаружения столкновений box2d, например.

http://blog.allanbishop.com/box2d-2-1a-tutorial-%E2%80%93-part-4-collision-detection/

...