2015-03-05 3 views
0

Я после этого удивительного учебника (http://www.matim-dev.com/revolute-joint.html) для создания RevoluteJointDef, так же, как блог описывает. Все работало, как объяснено, НО я получаю нежелательное поведение.AndEngine - RevoluteJointDef момент

Проблема: Когда мое тело (1х1 метра) мяч падать (colide) вращающееся тело, это замедлиться на некоторое время, даже если я устанавливаю его крутящий момент на очень высокое значение.

Я хочу: Когда мое тело colide с этим вращающимся телом, он должен вести себя так же, как это было удара о землю. Вращающееся тело не должно замедляться.

Вот мой код:

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; 

Объект, который colides с этим вращающимся телом является 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); 

Как я могу добиться этого?

ответ