如果分辨率较高,您的角色会变小,因为您的舞台始终具有最大分辨率,但您的角色仍保持其大小。例如,将角色和舞台的大小调整为 procentual,它应该看起来相同。否则,您需要提供更多信息,以便我们提供帮助
一个小例子就是。如果您的分辨率为 1280x640,您的字符将是屏幕的 10%,对吗?现在想象一下分辨率是 640x320。您的角色将占屏幕的 20%。所以你需要让它更小才能在较小的屏幕上具有相同的比例。
在更大的情况下,您需要以相同的比例使其更大。使用
@Override
public void resize(int width, int height) {
..... //resize here depending on the width and the height
}
在您的屏幕上调整大小。我建议使用OrthographicCamera
你给你的舞台stage.setCamera(cam);
。所以你只需要改变camera viewport
调整大小,你的舞台就适合了。但要跟踪aspect_ratio
.
您甚至可以开始使用固定分辨率。所以你有一个你可以使用的分辨率,其余的由zoom
你的相机完成。
要获得固定分辨率,您可以使用相机放大和缩小以始终在screen
. 这取决于您的屏幕分辨率。因此,如果分辨率较小(显示游戏的屏幕),则缩小以显示整个游戏区域。否则你放大直到在视口边缘有一个边缘。(puh这似乎是硬的东西)好吧,这看起来怎么样?
@Override
public void resize(int width, int height) {
Gdx.app.log("Screen", "Resize screen: " + getName());
cam.viewportHeight = height;
cam.viewportWidth = width;
if (Config.VIRTUAL_VIEW_WIDTH / cam.viewportWidth < Config.VIRTUAL_VIEW_HEIGHT
/ cam.viewportHeight) {
cam.zoom = Config.VIRTUAL_VIEW_HEIGHT / cam.viewportHeight;
} else {
cam.zoom = Config.VIRTUAL_VIEW_WIDTH / cam.viewportWidth;
}
cam.update(); // update it ;)
}
这实际上就是一切。VIRTUAL_VIEW_WIDTH
和是我在游戏界面中使用的VIRTUAL_VIEW_HEIGHT
分辨率。px
注意使用正确的相机。所以这是我给我的舞台的相机。
也许看看这个博客。他确实解释了您需要了解的有关 Sceen2d 以及如何调整大小等的所有信息。