Viewport坚持改变屏幕

时间:2016-04-07 13:06:12

标签: android libgdx

我制作的游戏目前令人困惑,但它很长,所以我没有勇气改变它。因此,我的PlayState是在没有相机的情况下制作的,是根据WIDTH的计算结果制作的......

但是现在我使用相机和视口制作了我的MainMenu,因为它很快就有了......

现在,如果我直接启动PlayState,它可以正常工作。但是如果我从MainMenu开始播放PlayState,那么视口似乎是主持人,而我的游戏非常奇怪。 0,0似乎处于中间位置,没有任何逻辑工作......

那我该如何重置视口呢?或者,如果我是正确的,setProjectionMatrix(camera.combined)似乎仍然存在。如何删除?

1 个答案:

答案 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();