2015-04-16 41 views
0

我想讓球員跳躍跟在this tutorial之後,但我不能。請看看我的代碼,並幫助我解決它。這裏是我的代碼:無法用Box2D跳入Andengine

mPhysicsWorld = new PhysicsWorld(new Vector2(0, 

SensorManager.GRAVITY_EARTH),false); 
sapo = new Sapo(100,100,mVertexBufferObjectManager,mCamera,mPhysicsWorld) { 
    @Override 
    public void onDie() {} 
    }; 
attachChild(sapo); 
sapo.jump(); 

public abstract class Sapo extends AnimatedSprite { 
private Body mBody; 

public Sapo(float pX, float pY, VertexBufferObjectManager vbo, Camera camera, PhysicsWorld physicsWorld) 
{ 
    super(pX, pY, ResourceManager.getInstance().mSapoTiledTextureRegion,vbo); 
    createPhysics(camera, physicsWorld); 
} 
private void createPhysics(final Camera camera, PhysicsWorld physicsWorld) 
{   
    mBody = PhysicsFactory.createBoxBody(physicsWorld, this, BodyType.DynamicBody, PhysicsFactory.createFixtureDef(1f,1f,1f)); 
} 

public abstract void onDie(); 
public void jump() { 
    mBody.setLinearVelocity(new Vector2(mBody.getLinearVelocity().x,-100)); 
} 

}

回答

0

我發現這個問題。我忘了註冊物理處理程序,如下所示:

myScence.registerUpdateHandler(mPhysicsWorld);