AndEngine и box2d фильтрация столкновений - PullRequest
1 голос
/ 16 февраля 2012

У меня проблема со столкновением между двумя телами (одно динамическое и одно статическое). Допустим, у меня есть стена и мяч, я установил фильтр, который позволяет мячу проходить через стену. Это работает хорошо, пока я создаю спрайт с телом вне тела стены. Проблема возникает, когда я создаю мяч в той же позиции, что и стена, и мяч застревает или подпрыгивает, или делает странные вещи. Я считаю, что не имеет значения, где я создаю тело, если есть фильтр столкновений. У кого-нибудь была похожая проблема?

Ответы [ 2 ]

2 голосов
/ 29 апреля 2012

Уже довольно поздно, но я справился с подобной проблемой, используя маскировку

http://www.aurelienribon.com/blog/2011/07/box2d-tutorial-collision-filtering/

ура.

0 голосов
/ 04 мая 2012

Я до сих пор не знаю, почему возникает проблема, но я знаю, что это происходит, если я создаю boxBody и circleBody.Я решил эту проблему, используя PolygonBody вместо BoxBody.Вот мой код, который создает поле из тела многоугольника.

float a = this.getWidthScaled()*0.5f/32.0f;
float b = this.getHeightScaled()*0.5f/32.0f;
Vector2[] v = {new Vector2(-a,-b), 
               new Vector2(a,-b),
               new Vector2(a,b),
               new Vector2(-a,b)};
body = PhysicsFactory.createPolygonBody(pWorld, this, v, BodyType.DynamicBody, mFixtureDef);
...