2015-01-13 3 views
1

Я создал ниже шестиугольную структуру в Andengine с Box2D физический движок. Я хочу повернуть всю структуру по отношению к центру, когда другой шар сталкивается со структурой с использованием физики.AndEngine вращать все связанные тела

находка эталонное изображение здесь: reference question

Я попытался weld joint и revolute joint с телами, но он не выполняет собственное движение по мере необходимости. Все тела прикреплены weld joint и вершины имеют revolute joint с центром тела, который является статическим, как,

RevoluteJointDef revoluteJointDef1 = new RevoluteJointDef(); 
revoluteJointDef1.initialize(centerB, movingBody[i], centerB.getWorldCenter()); 
revoluteJointDef1.enableMotor = true; 
revoluteJointDef1.motorSpeed = 0; 
revoluteJointDef1.maxMotorTorque = 1f; 
this.mPhysicsWorld.createJoint(revoluteJointDef1); 

Есть ли другой способ выполнить плавное вращение всей конструкции? Спасибо.

+0

Есть ли какой-либо способ, если я могу добавить корпус круг большого круга и наложить на него шары, которые будут вращать все тела? – Harry

+0

Должна ли ваша структура быть сделана из нескольких тел, или это может быть несколько светильников на одном теле? – iforce2d

+0

Я строил его с несколькими телами, но если можно обнаружить отдельные светильники на одном теле, но это нормально. – Harry

ответ

0

Oh! я получил решение самого ... Я сделал то же самое, как я уже говорил в первом комментарий на мой вопрос, где я прикрепленный шары на большом теле круга, как,

Body circleBody ... ;// having large radius 
//for all balls arranged in hexagon structure 
foreach BallBody b 
{ 
WeldJointDef def = new WeldJointDef(); 
def.initialize(b, circleBody, b.getWorldCenter()); 
mPhysicsWorld.createJoint(def); 
} 

и получил вращение при наличии вращательного стыка circleBody с центр. Спасибо, кто приложил все усилия.

Смежные вопросы