我发誓我永远无法使用Stage类来工作,因为我希望它... 无论如何,我一直在尝试使用视口,并且它在我正在使用spritebatch的游戏屏幕上运行良好。主菜单和游戏在使用Stage类的屏幕上出现问题。
当我在游戏屏幕打开时调整大小然后返回主菜单或屏幕上的游戏时,小部件会失真。如果我再次回到游戏屏幕就可以了。
这是迄今为止效果最好的代码。仍然没有正常工作......
public class MyGame extends Game {
public OrthographicCamera camera;
public Viewport viewport;
public SpriteBatch batch;
public static final int WIDTH = 960;
public static final int HEIGHT = 540;
public static MainMenu mainmenu;
@Override
public void create() {
mainmenu = new MainMenu(this);
camera = new OrthographicCamera();
camera.setToOrtho(true, 1920, 1080);
viewport = new FitViewport(1920, 1080, camera);
batch = new SpriteBatch();
setScreen(mainmenu);
}
每个班级的调整大小方法:
@Override
public void resize(int width, int height) {
game.viewport.update(width, height);
}
所以,我在每个班级都使用一个FitViewport。我也试过为每个类使用一个视口,但结果只会变得更糟......
还有一件事。
当我调整窗口大小时,在调整大小时视口不会更新。相反,它会围绕它创建一个黑色条,直到我释放。我认为不应该这样做。我看过的每个教程都是他们调整了一个窗口,在调整大小时屏幕更新了。
关于它为什么这样做的任何想法?