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

私の見解では、コードに 2 つの変更を適用する必要があります。

  1. 次の方法で Physics ワールド コンストラクターの値を変更します。

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

  2. PhysicsConnector を次のように変更します。

    新しい PhysicsConnector(テスト、本体、真、真);

あなたのコードでは、オブジェクトの位置と回転を更新していないことがわかるので、2番目の提案がうまくいくと思います。

于 2013-03-30T15:17:50.573 に答える
0

あなたのphysicsworldがゲームシーンに登録されます。デバイスが動作し、体が動いています。

    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 に答える