2013-03-27 2 views
0

를 이동하지 않습니다, 나는 이런 식으로 뭔가를했습니다 :Box2D의 몸이 너무

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

+0

당신은 세상을 스테핑 있습니까? – Axis

+0

당신은 "나는 장면을 업데이트하고있어"경우 "세상을 스테핑"가 무슨 뜻 이죠 그래 난 여기에 있어요 : registerUpdateHandler (physicsWorld); –

+0

미안 내 실수 – Axis

답변

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); 
0

내보기에 따라 코드에 두 가지 변경 사항을 적용해야합니다.

  1. 다음과 같은 방법으로

    변경 물리 세계 생성자 값

    mPhysicsWorld = 새로운 PhysicsWorld (새 Vector2 (0, SensorManager.GRAVITY_EARTH), 거짓);

  2. 변경 PhysicsConnector 다음과 같은 방법에 따라

    새로운 PhysicsConnector (시험, 신체, 사실, 사실);

나는 두 번째 제안 작업은 코드에서 사용자가 개체에 대한 회전뿐만 아니라 위치를 업데이트하지 않기 때문에 발생한다고 생각합니다.