AndEngine 旋转所有连接的物体
AndEngine rotate all connected bodies
我使用 Box2D
物理引擎在 Andengine
中创建了以下六边形结构。当其他球与使用物理的结构碰撞时,我想相对于中心旋转整个结构。
在此处查找参考图片:reference question
我尝试了 weld joint
和 revolute joint
身体,但它没有按照要求进行适当的运动。所有物体都附有 weld joint
,顶点有 revolute joint
,中心 body 是静态的,
RevoluteJointDef revoluteJointDef1 = new RevoluteJointDef();
revoluteJointDef1.initialize(centerB, movingBody[i], centerB.getWorldCenter());
revoluteJointDef1.enableMotor = true;
revoluteJointDef1.motorSpeed = 0;
revoluteJointDef1.maxMotorTorque = 1f;
this.mPhysicsWorld.createJoint(revoluteJointDef1);
有没有其他方法可以实现整个结构的平滑旋转?
谢谢。
哦!我自己找到了解决方案...我做了与我在第一条评论中提到的相同的事情我的问题我将球附在一个大圆体上,例如
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 与中心的旋转关节获得旋转。感谢你们付出的努力。
我使用 Box2D
物理引擎在 Andengine
中创建了以下六边形结构。当其他球与使用物理的结构碰撞时,我想相对于中心旋转整个结构。
在此处查找参考图片:reference question
我尝试了 weld joint
和 revolute joint
身体,但它没有按照要求进行适当的运动。所有物体都附有 weld joint
,顶点有 revolute joint
,中心 body 是静态的,
RevoluteJointDef revoluteJointDef1 = new RevoluteJointDef();
revoluteJointDef1.initialize(centerB, movingBody[i], centerB.getWorldCenter());
revoluteJointDef1.enableMotor = true;
revoluteJointDef1.motorSpeed = 0;
revoluteJointDef1.maxMotorTorque = 1f;
this.mPhysicsWorld.createJoint(revoluteJointDef1);
有没有其他方法可以实现整个结构的平滑旋转? 谢谢。
哦!我自己找到了解决方案...我做了与我在第一条评论中提到的相同的事情我的问题我将球附在一个大圆体上,例如
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 与中心的旋转关节获得旋转。感谢你们付出的努力。