java - libGDX 游戏分辨率设置为 1920x1080 需要缩小以适应较小的设备

标签 java libgdx

我的游戏物理和碰撞均为 1920x1080,并且是多人游戏。它仅适用于 1080p 屏幕;如何缩小游戏以适应较小的屏幕?

视口(viewport)似乎只能向上缩放,而不能向下缩放。我只是想拉伸(stretch)纵横比。

最佳答案

要放大或缩小,您需要像这样创建一个 ViewPort。

Viewport viewport = new ScalingViewport(Scaling.stretch,width,height,camera);

Scaling.stretch 意味着它将拉伸(stretch)屏幕以适应您设置的宽度和高度的分辨率。

您忘记的关键部分是您不能再使用 Gdx.graphics.getHeight() 了。

相反,你可以像这样使用它

camera.position.set(camera.viewportWidth/2,camera.viewportHeight/2,0);

使用camera.viewportWidth,您通常会使用Gdx.graphics.getWidth()等。另外,当您从用户输入获取坐标时,请不要忘记在 vector 3上使用camera.unproject,这将修复要在屏幕上显示的坐标。

关于java - libGDX 游戏分辨率设置为 1920x1080 需要缩小以适应较小的设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29270160/

相关文章:

java - JAXB:第三方或外部父类(super class)上的@XmlTransient

java - android触摸输入错误

android - 使用 Scene2d.ui 的 Libgdx UI - 它可以在 iOS 上运行吗?

Java While 循环程序

java - 使用类型转换添加字节,Java

java - 使用 Java 进行图形循环检测

memory-leaks - JNI 错误(应用程序错误): non-zero capacity for NULL pointer: 80000 in LibGDX

java - 从 AndEngine 切换到 libgdx - 需要了解什么?

libgdx - 如何为 libgdx 项目创建皮肤?

java - 我可以更改 getClass().getName() 方法的行为吗