我在 libgdx 中调整大小的方法有问题,当我在我的手机上运行我的游戏时一切正常,但是当我在另一部更大的手机上运行游戏时一切都变小而且看起来很糟糕。
这是我调整大小的方法:
@Override
public void resize(int width, int height) {
...
camera.viewportHeight = height / 1.1f;
camera.viewportWidth = width / 1.1f;
stage.setViewport(width, height, true);
table.invalidateHierarchy();
table.setSize(width, height);
table2.invalidateHierarchy();
table2.setSize(width, height);
table3.invalidateHierarchy();
table3.setSize(width, height);
table4.invalidateHierarchy();
table4.setSize(width, height);
}
而且这种方法只会产生不好的效果。 我该如何解决这个问题?
最佳答案
完美题介绍Viewport
,今天已添加。
视口(viewport)是专门为解决这个问题而设计的。看看this news和 the wiki page看看它们是如何工作的。
但是,这些仅在夜间构建中可用。
你现在实际上在做的是自己实现“ScreenViewport
”,它总是保持屏幕的大小,这不会导致拉伸(stretch),但它会或多或少地显示你的世界。
您可能正在寻找的是 FitViewport
或者 StretchViewport
。这些为您提供了一个虚拟屏幕尺寸,并将缩放以适合您的屏幕。
关于java - 调整舞台和相机的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22545396/