Libgdx Box2dで1つのボディのすべてのフィクスチャの位置を取得するには? フィクスチャには位置ゲッターがないようです。この質問が初心者である場合は申し訳ありませんが、Box2d の学習を始めたばかりです。
質問する
6924 次
2 に答える
9
について知っていれば、これは簡単ですTransform
。
例として円形フィクスチャを取り上げてみましょう。これは最も簡単に実証できます。
// we need to get the body's position, let's use a Vector2 to store it.
Vector2 vec = new Vector2();
Body body = fixture.getBody();
// what is this magic? Why, it's a wonderful object that transforms fixture
// position information based on the body's position!
Transform transform = body.getTransform();
CircleShape shape = (CircleShape) fixture.getShape();
vec.set(shape.getPosition());
// apply the transformation
transform.mul(vec);
// now vec.x and vec.y will be what you want!
簡単!
しかし、円の代わりに多角形がある場合はどうなるでしょうか? また簡単!形状の各頂点に変換を適用するだけです。
于 2013-11-02T13:41:00.887 に答える
1
box2d 本体からすべてのフィクスチャのリストを取得します。各フィクスチャのshapeを取得します。形状が CircleShape タイプの場合、使用できる getPosition() メソッドがあります。ただし、取得される位置は、b2World 内の box2d 本体の位置を基準にしています。
于 2013-10-06T18:14:12.933 に答える