libGDX 游戏分辨率设置为 1920x1080 需要缩小以适应较小的设备
libGDX game resolution set to 1920x1080 need to scale down for smaller devices
我的游戏物理和碰撞都是 1920x1080,而且是多人游戏。它仅适用于 1080p 屏幕;我如何缩小游戏以适应较小的屏幕?
Viewport 似乎只能让我向上缩放而不是向下缩放。我只是想拉伸纵横比。
要按比例放大或缩小,您需要像这样创建一个 ViewPort。
Viewport viewport = new ScalingViewport(Scaling.stretch,width,height,camera);
Scaling.stretch 表示它将缩放屏幕以适应您为宽度和高度设置的分辨率。
您忘记的关键部分是您不能再使用 Gdx.graphics.getHeight()。
相反,您可以像这样使用它
camera.position.set(camera.viewportWidth/2,camera.viewportHeight/2,0);
在通常使用 Gdx.graphics.getWidth() 的地方使用 camera.viewportWidth 等等。此外,例如,当您从用户输入中获取坐标时,请不要忘记在 vector3 上使用 camera.unproject 这将修复坐标以显示在屏幕上。
我的游戏物理和碰撞都是 1920x1080,而且是多人游戏。它仅适用于 1080p 屏幕;我如何缩小游戏以适应较小的屏幕?
Viewport 似乎只能让我向上缩放而不是向下缩放。我只是想拉伸纵横比。
要按比例放大或缩小,您需要像这样创建一个 ViewPort。
Viewport viewport = new ScalingViewport(Scaling.stretch,width,height,camera);
Scaling.stretch 表示它将缩放屏幕以适应您为宽度和高度设置的分辨率。
您忘记的关键部分是您不能再使用 Gdx.graphics.getHeight()。
相反,您可以像这样使用它
camera.position.set(camera.viewportWidth/2,camera.viewportHeight/2,0);
在通常使用 Gdx.graphics.getWidth() 的地方使用 camera.viewportWidth 等等。此外,例如,当您从用户输入中获取坐标时,请不要忘记在 vector3 上使用 camera.unproject 这将修复坐标以显示在屏幕上。