Java box2d车身不是';不动

Java box2d车身不是';不动,java,android,box2d,andengine,Java,Android,Box2d,Andengine,所以,我有这样的想法: physicsWorld=new PhysicsWorld(new Vector2(10, 10), false); Rectangle test = new Rectangle(100, 100, 50, 50, vbom); FixtureDef wallFixtureDef = PhysicsFactory.createFixtureDef(0, 0f, 0.5f); Body body = PhysicsFactory.createBoxBody(physic

所以,我有这样的想法:

physicsWorld=new PhysicsWorld(new Vector2(10, 10), false);
Rectangle test = new Rectangle(100, 100, 50, 50, vbom);

FixtureDef wallFixtureDef = PhysicsFactory.createFixtureDef(0, 0f, 0.5f);

Body body = PhysicsFactory.createBoxBody(physicsWorld, test, BodyType.DynamicBody, wallFixtureDef);
physicsWorld.registerPhysicsConnector(new PhysicsConnector(test, body));
body.setLinearVelocity(100, 100);

registerUpdateHandler(physicsWorld);

attachChild(test);
它不起作用,身体不动。 你知道为什么吗


GLES 2 AnchorCenter

您的物理世界注册到游戏场景。 我的设备和身体都在移动

    PhysicsWorld physicsWorld = new PhysicsWorld(new Vector2(10, 10), false);
    Rectangle test = new Rectangle(100, 100, 50, 50,
            getVertexBufferObjectManager());
    FixtureDef wallFixtureDef = PhysicsFactory
            .createFixtureDef(0, 0f, 0.5f);
    Body body = PhysicsFactory.createBoxBody(physicsWorld, test,
            BodyType.DynamicBody, wallFixtureDef);
    physicsWorld.registerPhysicsConnector(new PhysicsConnector(test, body));
    body.setLinearVelocity(100, 100);
    yourScene.registerUpdateHandler(physicsWorld);
    yourScene.attachChild(test);

根据我的观点,您必须在代码中应用两个更改

  • 按以下方式更改物理世界构造函数值

    MPPhysisWorld=新物理世界(新矢量2(0,SensorManager.GRAVITY\u EARTH),错误)

  • 按照以下方式更改PhysicConnector

    新的物理连接器(测试,主体,正确,正确)


  • 我认为第二个建议对您有效,因为在您的代码中,我看到您没有更新对象的位置和旋转。

    您正在踏步世界吗?如果“我正在更新我的场景”,那么“踏步世界”是什么意思?是的,我在这里:registerUpdateHandler(physicsWorld);