AndEngine旋转所有连接的物体

时间:2015-01-13 08:39:56

标签: android box2d andengine

我在Andengine中用Box2D物理引擎创建了下面的六边形结构。当其他球与物理结构碰撞时,我想相对于中心旋转整个结构。

在此处找到参考图片:reference question

我尝试了weld jointrevolute 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);

还有其他方法可以实现整个结构的平滑旋转吗? 感谢。

1 个答案:

答案 0 :(得分:0)

哦!我自己得到了解决方案......我做了同样的事情,就像我在第一个评论中提到的那样,我把球放在一个大圆体上,比如,

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与中心的旋转关节得到旋转。谢谢谁付出了努力。