Android 当达到极限时,libgdx中的旋转关节不向后旋转(不工作)。如何基于用户触摸控制旋转关节
我一直在研究如何使用box2d在libgdx中基于用户触摸控制旋转关节,旋转关节在到达上角后停止。是否有方法控制旋转关节Android 当达到极限时,libgdx中的旋转关节不向后旋转(不工作)。如何基于用户触摸控制旋转关节,android,libgdx,box2d,Android,Libgdx,Box2d,我一直在研究如何使用box2d在libgdx中基于用户触摸控制旋转关节,旋转关节在到达上角后停止。是否有方法控制旋转关节 ` jd = new RevoluteJointDef(); jd.initialize(bodyPivot, boxBody, anchor); jd.lowerAngle = 0.75f * (float)3.14; // -90 degrees jd.upperAngle = 0.75f * (float)3.14; // 4
`
jd = new RevoluteJointDef();
jd.initialize(bodyPivot, boxBody, anchor);
jd.lowerAngle = 0.75f * (float)3.14; // -90 degrees
jd.upperAngle = 0.75f * (float)3.14; // 45 degrees
jd.collideConnected=false;
jd.enableLimit = true;
jd.maxMotorTorque = 1000.0f;
jd.enableMotor=false;
jd.motorSpeed = 0f*(float)3.14;
rj = (RevoluteJoint) world.createJoint(jd);`
我尝试使用
rj.enableMotor(true)
,但它不起作用创建关节时,在指定限制时,主体之间的当前相对角度为零
如果关节始终沿同一方向旋转,则限制实际上不会改变,因为就限制而言,新的起点现在为零
jointDef.upperAngle = MathUtils.PI;
jointDef.lowerAngle = 0;//the position when joint was created
但是,如果关节应该在下降之前旋转回原始位置,它将类似于:
jointDef.upperAngle = atTop ? 0 : MathUtils.PI;
jointDef.lowerAngle = atTop ? -MathUtils.PI : 0;
我从中找到了答案,当创建关节时,在指定限制时,主体之间的当前相对角度为零 如果关节始终沿同一方向旋转,则限制实际上不会改变,因为就限制而言,新的起点现在为零
jointDef.upperAngle = MathUtils.PI;
jointDef.lowerAngle = 0;//the position when joint was created
但是,如果关节应该在下降之前旋转回原始位置,它将类似于:
jointDef.upperAngle = atTop ? 0 : MathUtils.PI;
jointDef.lowerAngle = atTop ? -MathUtils.PI : 0;
我从中找到了答案