Andengine - RevoluteJointDef 扭矩

Andengine - RevoluteJointDef torque

我正在按照这个 惊人的 教程 (http://www.matim-dev.com/revolute-joint.html) 来创建 RevoluteJointDef,就像博客中描述的那样。 一切都按照说明进行,但我遇到了不良行为。

问题: 当我的 body(1x1 米)球掉落(碰撞)旋转的 body 时,即使我将其扭矩设置为非常高的值,它也会减速一段时间。

我想要的: 当我的 body 与这个旋转的 body 相撞时,它应该表现得就像它撞到地面一样。旋转的body应该不会减速。

这是我的代码:

Rectangle rotatingRectangle = new Rectangle(x_+120, y_, 240, 10,vbom);
                        rotatingRectangle.setColor(Color.RED);
                        final Body rotatingRectangleBody = PhysicsFactory.createBoxBody(simulationPhysicsWorld, rotatingRectangle, BodyType.DynamicBody, PhysicsFactory.createFixtureDef(1, 0.5f, 1f));
                        simulationPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(rotatingRectangle, rotatingRectangleBody, true, true));
                        GameScene.this.attachChild(rotatingRectangle);



                        revoluteJointDef = new RevoluteJointDef();
                        revoluteJointDef.initialize(staticRectBody, rotatingRectangleBody, staticRectBody.getWorldCenter());
                        revoluteJointDef.enableMotor = true;
                        revoluteJointDef.motorSpeed = (float)Math.toRadians(-60);
                        revoluteJointDef.maxMotorTorque = 1000000000;

与这个旋转body碰撞的object是一个Sprite:

FixtureDef PLAYER_FIX= PhysicsFactory.createFixtureDef(10.0f, 0.5f, 0.1f);  
simulationSpriteProjectile= new Sprite(900,camera.getHeight()/2, resourcesManager.simulationTextureRegionProjectile, vbom);
simulationBodyProjectile  = PhysicsFactory.createCircleBody(simulationPhysicsWorld, simulationSpriteProjectile, BodyType.DynamicBody, PLAYER_FIX);

如何实现?

我认为此页面包含您需要的示例代码和引擎示例。 https://github.com/nicolasgramlich/AndEngineExamples/blob/GLES2/src/org/andengine/examples/PhysicsRevoluteJointExample.java

这应该有所帮助!