我在重置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”。有什么办法可以重置它?
答案 0 :(得分:0)
使背景Texture偏移以在Wizard.getPosition()。x处绘制-偏移。其中offset是从向导的原点(左上方)到屏幕左侧的距离。
答案 1 :(得分:0)
所以解决方案是像这样重新定位相机:
camera.setToOrtho(false, FlappyWizardGame.WIDTH, FlappyWizardGame.HEIGHT);
,然后在render方法中像这样重置SpriteBatch:
sb.setProjectionMatrix(camera.combined);
感谢您的帮助!