相关疑难解决方法(0)

如何在libGDX中处理不同的宽高比?

我已经使用libGDX实现了一些屏幕,这显然会使用ScreenlibGDX框架提供的类.但是,这些屏幕的实现仅适用于预定义的屏幕尺寸.例如,如果精灵用于640 x 480大小的屏幕(4:3宽高比),它将无法按预期在其他屏幕尺寸上工作,因为精灵与屏幕边界相同并且不会缩放到屏幕尺寸一点都不 此外,如果libGDX提供了简单的缩放,我面临的问题仍然存在,因为这会导致游戏画面的宽高比发生变化.

在对互联网进行研究之后,我遇到了一个讨论同一问题的博客/论坛.我已经实现了它,到目前为止它工作正常.但我想确认这是否是实现这一目标的最佳选择,还是有更好的选择.下面是代码,以显示我如何处理这个合法的问题.

论坛链接:http://www.java-gaming.org/index.php? topic = 25685.new

public class SplashScreen implements Screen {

    // Aspect Ratio maintenance
    private static final int VIRTUAL_WIDTH = 640;
    private static final int VIRTUAL_HEIGHT = 480;
    private static final float ASPECT_RATIO = (float) VIRTUAL_WIDTH / (float) VIRTUAL_HEIGHT;

    private Camera camera;
    private Rectangle viewport;
    // ------end------

    MainGame TempMainGame;

    public Texture splashScreen;
    public TextureRegion splashScreenRegion;
    public SpriteBatch splashScreenSprite;

    public SplashScreen(MainGame maingame) {
        TempMainGame = maingame;
    }

    @Override
    public …
Run Code Online (Sandbox Code Playgroud)

android opengl-es aspect-ratio libgdx

80
推荐指数
4
解决办法
6万
查看次数

标签 统计

android ×1

aspect-ratio ×1

libgdx ×1

opengl-es ×1