Camera LibGDX相机位置随移动而移动
我正在用LibGDX和Box2D编程一个游戏,我想让我的相机跟随我的玩家。但当我放大时(因为Box2Ds公制,使用camera.zoom=x),当播放器移动时,相机会移动(相机跟随播放器): 转变观点 正常视图 这只会在玩家移动时发生,所以坐标不会有问题。我的问题是如何在玩家移动时消除这种移动 以下是我的一些代码: 渲染循环(节选): 让玩家移动:Camera LibGDX相机位置随移动而移动,camera,libgdx,box2d,perspectivecamera,Camera,Libgdx,Box2d,Perspectivecamera,我正在用LibGDX和Box2D编程一个游戏,我想让我的相机跟随我的玩家。但当我放大时(因为Box2Ds公制,使用camera.zoom=x),当播放器移动时,相机会移动(相机跟随播放器): 转变观点 正常视图 这只会在玩家移动时发生,所以坐标不会有问题。我的问题是如何在玩家移动时消除这种移动 以下是我的一些代码: 渲染循环(节选): 让玩家移动: 我唯一的想法是把相机更新方法放在世界步之后。试试吧,谢谢你的比喻,很好用。我现在使用world.step(),然后是cam.position.s
我唯一的想法是把相机更新方法放在世界步之后。试试吧,谢谢你的比喻,很好用。我现在使用world.step(),然后是cam.position.set,最后是cam.update(),现在不再需要移动相机了。
@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);
}