Андонгевая и Box2D фильтрация столкновений
Вопрос
У меня есть проблема с столкновением между 2 телами (одна динамика и одна статическая). Допустим, у меня есть стена и мяч, я установил фильтр, который позволяет мячу проходить через стену. Он работает хорошо, пока я создаю спрайт с телом вне тела стены. Проблема появляется, когда я создаю мяч в том же положении, что и стена, затем мяч застрял, отскочил или делает странные вещи. Я считаю, что у него не должно быть материи, где я создаю тело, если есть фильтр столкновений. Была ли кто -нибудь подобная проблема?
Решение 2
Я до сих пор не знаю, почему возникает проблема, но я знаю, что это произойдет, если я создаю Boxbody и Circlebody. Я решил эту проблему, используя многоугольный тел вместо коробки. Вот мой код, который создает коробку из тела многоугольника.
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);
Другие советы
Это довольно поздно, но у меня была такая же проблема, используя маскировку
http://www.aurelienribon.com/blog/2011/07/box2d-tutorial-collision-filtering/
ваше здоровье.