libgdx重置OrthographicCamera位置

时间:2018-12-28 23:25:40

标签: java libgdx 2d-games

我在重置Java应用程序中的相机位置时遇到问题。 这是一款侧滚动游戏,相机将其聚焦(缩放)在屏幕的一部分上。

相机在一类(UI)中具有以下设置:

OrthographicCamera camera = new OrthographicCamera();
camera.setToOrtho(false, FlappyWizardGame.WIDTH / 2,FlappyWizardGame.HEIGHT / 2);

在update()方法中,相机应遵循移动的图形:

camera.position.x = wizard.getPosition().x + 80;

在render()方法中:

spriteBatch.setProjectionMatrix(camera.combined);

现在我的问题是,当玩家失败时,另一个UI应该会弹出。但是由于相机的变焦,背景(纹理)无法正确显示。.

希望您能理解我的意思,并感谢您的帮助!

亲切的问候!

编辑: 看来问题出在SpriteBatch,因为它设置为“ Camera.combined”。有什么办法可以重置它?

2 个答案:

答案 0 :(得分:0)

使背景Texture偏移以在Wizard.getPosition()。x处绘制-偏移。其中offset是从向导的原点(左上方)到屏幕左侧的距离。

答案 1 :(得分:0)

所以解决方案是像这样重新定位相机:

camera.setToOrtho(false, FlappyWizardGame.WIDTH, FlappyWizardGame.HEIGHT);

,然后在render方法中像这样重置SpriteBatch:

sb.setProjectionMatrix(camera.combined);

感谢您的帮助!