2012-02-16 21 views
1

2つのボディ(1つはダイナミック、もう1つは静的)間の衝突に問題があります。私は壁とボールを持っていると言う、私はボールが壁を通過できるようにフィルターを設定します。私は壁の体の外側に体とスプライトを作成する限り、それは良い作品。この問題は、壁と同じ位置にボールを作成した後、ボールが詰まったりバウンスしたり、奇妙なことをすると表示されます。私は衝突フィルターがある場合、私がボディを作成する場所が問題ではないはずだと信じています。誰か似たような問題がありましたか?AndEngineとbox2dの衝突フィルタ

答えて

0

私はまだ問題が表示される理由はわかりませんが、私がboxBodyとcircleBodyを作成すると起こることがわかります。私はboxBodyの代わりにpolygonBodyを使ってこの問題を解決しました。ここではポリゴン本体からボックスを作成する私のコードです。

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); 
2

それはかなり後半だが、私はマスキング

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

歓声を使用して、同様の問題を回避しました。

+0

、これは理論的に質問に答えるかもしれないが、[それが望ましいだろう](http://meta.stackexchange.com/q/8259)ここでは答えの重要な部分が含まれ、およびへのリンクを提供するために参照。 – BoltClock

関連する問題