我制作的游戏目前令人困惑,但它很长,所以我没有勇气改变它。因此,我的PlayState是在没有相机的情况下制作的,是根据WIDTH的计算结果制作的......
但是现在我使用相机和视口制作了我的MainMenu,因为它很快就有了......
现在,如果我直接启动PlayState,它可以正常工作。但是如果我从MainMenu开始播放PlayState,那么视口似乎是主持人,而我的游戏非常奇怪。 0,0似乎处于中间位置,没有任何逻辑工作......
那我该如何重置视口呢?或者,如果我是正确的,setProjectionMatrix(camera.combined)似乎仍然存在。如何删除?
答案 0 :(得分:0)
在PlayState的render
方法开头,请致电
Gdx.gl.glViewport(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
将视口重置为全屏大小。您还需要将批处理的投影矩阵设置为不使用MainMenu时使用的任何内容。如果您的PlayState不使用相机,可能矩阵设置为屏幕大小,或者可能是单位矩阵。所以你可以使用其中一个:
spriteBatch.getProjectionMatrix().setToOrtho2D(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
或
spriteBatch.getProjectionMatrix().idt();