LibGDX相机位置在移动时移动

时间:2014-12-29 19:10:11

标签: camera libgdx box2d perspectivecamera

我正在使用LibGDX和Box2D编写游戏,我希望我的相机能够关注我的播放器。但是当我放大(因为Box2Ds公制系统,使用camera.zoom = x)时,相机会在玩家移动时移动(相机跟随玩家):

Shifted Position 移位视图

Normal Position 普通视图

只有在玩家移动时才会发生这种情况,因此坐标不会出现问题。我的问题是如何在玩家移动时消除这种转变。

以下是我的一些代码:

渲染循环(摘录):

@Override
public void render(float delta) {
    //set the camera position to player's position
    cam.position.set(player_body.getWorldCenter().x, player_body.getWorldCenter().y, 0);
    cam.update();

    world.step(Gdx.graphics.getDeltaTime(), 6, 2);
    world.clearForces();

    handleInput();

    Gdx.gl.glClearColor(.05f, .05f, .05f, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    batch.setProjectionMatrix(cam.combined);

    debugRenderer.render(world, cam.combined);

}

让玩家移动:

if (Gdx.input.isKeyPressed(Keys.W)) {
    player_body.setLinearVelocity(transX, transY);
    player.setMoving(true);
}

0 个答案:

没有答案