Изображението по-долу илюстрира това, което се опитвам да направя. Многоъгълното тяло трябва да се върти, запазвайки първоначалната си позиция, а червената точка, която също може да бъде друго тяло, остава в центъра.
Ето какво опитах, но се движи нещо като около червената точка:
Vector2 position = body2.getWorldCenter();
body2.setTransform(position, body2.getAngle() + 0.01f);
някакви мисли?
АКТУАЛИЗАЦИЯ 1
Ето как да създадете тялото на многоъгълника:
private Body createPolygonBody(Vector2 pos) {
// 0. Create a loader for the file saved from the editor.
BodyEditorLoader loader = new BodyEditorLoader(Gdx.files.internal("shot/wall"));
// 1. Create a BodyDef, as usual.
BodyDef bd = new BodyDef();
bd.position.set(pos);
bd.type = BodyType.StaticBody;
// 2. Create a FixtureDef, as usual.
FixtureDef fd = new FixtureDef();
fd.density = 1;
fd.friction = 0.5f;
fd.restitution = 0.3f;
fd.filter.categoryBits = CATEGORY_SCENERY;
fd.filter.maskBits = MASK_SCENERY;
// 3. Create a Body, as usual.
Body body = world.createBody(bd);
// 4. Create the body fixture automatically by using the loader.
loader.attachFixture(body, "one_door",fd, 3f);
return body;
}