0

Я работаю над проектом cocos2d с помощью Box2D, и я пытаюсь определить, когда 2 специфических края на прикоснется объект, например, для красных краев на изображениях ниже:Box2D обнаруживая при 2 конкретных краях потрогать

enter image description here

Я все еще участвую в столкновениях, но я понимаю основы и как определить, касаются ли 2 конкретных тела, но я не могу понять, как определить конкретные края.

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

Возможно, это простой способ сделать это, но я просмотрел интернет и не нашел полезных примеров.

Любая помощь приветствуется, спасибо!

ответ

1

Вы можете добавить два небольших светильника в соответствующие углы каждого тела, как это, и проверить, когда две пары (красный/красный, синий/синий) перекрываются одновременно. Круговые светильники были бы точными, и их изменение было бы простым способом настроить, насколько точным должно быть соответствие. enter image description here

+0

Спасибо за визуальное и помощь! Я собираюсь попытаться это сделать и сообщить вам, как это происходит – RyanG

1

В принципе, Box2D обнаруживает столкновения не между b2Bodies, а между b2Fixtures. Все, что вам нужно, это добавить датчик к вашему b2Bodies (fexture.isSensor = YES), установить его положение в нужную точку (всего 1-2 пикселя на правый край, из вашей физической формы) и обнаружить контакты для этих двух sesors. Надеюсь, это было ясно.

+0

не b2Texture, но b2Fixture =) – Morion

+0

oh ... извините. fixed :) – SentineL

Смежные вопросы