В libGDX Box2D У меня есть DynamicBody «тело» и StaticBody «якорь» и его соединение с «поворотным шарниром точки» и тело может оборачиваясь «точка опоры» и работает идеальную (позиция 2) ,Box2D тело динамический поворот вокруг точки поворота динамически?
Body body = Box2DUtil.addRectangle(BodyDef.BodyType.DynamicBody);
Body anchor = Box2DUtil.addRectangle(BodyDef.BodyType.StaticBody);
RevoluteJointDef revoluteJointDef = new RevoluteJointDef();
revoluteJointDef.initialize(anchor, body, anchor.getWorldCenter());
world.createJoint(revoluteJointDef);
Но я хочу повернуть «тело» в spesific угол, когда моделирование работает и сила тяжести = 10 и т.д. тело поворачивается вниз его ОК. Когда я нажимаю кнопку, я хочу превратить тело в положение «myNewAngle» Как показано на рисунке (позиция 1)
float myNewAngle = 0;
body.setType(BodyDef.BodyType.StaticBody);//for not effected from gravity
body.setTransform(body.getPosition(), lastAngle * MathUtils.degreesToRadians);
Моя проблема заключается в моем «тело» вращается вокруг своего происхождения (позиция 3) Я хочу превратить его Обращаясь «точка опоры» я установить «body.setTransform (anchor.getPosition()» но не работал. Я не могу сделать это с «мотором» тоже.
Как я могу повернуть «тело "вокруг„точка опоры“динамический?
Вы должны изменить систему координат на неподвижную раму, а затем сделать поворот там. Что вы хотите повернуть? Угол тела или все его положение? – pingul
@pingul Я хочу изменить угол тела, который имеет «точку опоры», но я хочу повернуть тело вокруг «точки поворота», чтобы какой код был? – MarsPeople