0

所以,我有这样的事情:

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 锚中心

4

2 回答 2

0

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

  1. 通过以下方式更改物理世界构造函数值

    mPhysicsWorld = new PhysicsWorld(new Vector2(0,SensorManager.GRAVITY_EARTH),false);

  2. 按照以下方式更改 PhysicsConnector

    新的 PhysicsConnector(test,body,true,true);

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

于 2013-03-30T15:17:50.573 回答
0

你的物理世界注册到你的游戏场景。它工作我的设备和身体正在移动。

    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);
于 2013-03-28T04:42:59.043 回答