libgdx 视口适合不同的屏幕

libgdx viewport fit different screens

我在让我的游戏适应不同屏幕时遇到了问题。 我在舞台 class.

中声明了视口宽度和高度
public static final int VIEWPORT_WIDTH = 20;
public static final int VIEWPORT_HEIGHT = 30;

然后我设置了相机

camera = new OrthographicCamera(VIEWPORT_WIDTH, VIEWPORT_HEIGHT);
camera.position.set(camera.viewportWidth/2, camera.viewportHeight/2, 0f);

并且我将桌面应用程序中的屏幕宽度和高度设置为此

public static final int APP_WIDTH = 800;
public static final int APP_HEIGHT = 900;

在桌面上一切看起来都很好,但在我的 android 设备上它看起来向上伸展。我阅读了有关视口的文档,但如何使用这些变量在此处实现它?我知道有人问过类似的问题,但我想知道可以使用这些特定变量来实现视口,这样我可能会更好地理解它。

您可能想使用 ExtendViewport。这扩展了世界 1 种方式来填满整个屏幕。

您的代码将如下所示:

private Viewport viewport;
private Camera camera;

public void create() {
    camera = new OrthographicCamera();
    viewport = new ExtendViewport(VIEWPORT_WIDTH , VIEWPORT_HEIGHT, camera);
}


public void resize(int width, int height) {
    viewport.update(width, height);
}

在此处阅读更多内容:https://github.com/libgdx/libgdx/wiki/Viewports#extendviewport