如何根据libgdx中不同的屏幕分辨率缩放图像

时间:2014-08-20 07:38:27

标签: android libgdx

我在我的libgdx游戏中使用480 * 800图像。它在我的智能手机上运行得非常好但是当我尝试在高端设备上运行它或者说分辨率为800 * 1280的标签时,它只是在屏幕的一角显示图像,原因很明显。

我确信它只需要一些相机设置即可根据不同的屏幕分辨率进行放大和缩小。请帮帮我或提供任何指针。

3 个答案:

答案 0 :(得分:4)

您可以使用上面维护的ViewPort或使用您自己的解决方案,如下所示:

    public static float SCALE_RATIO = YOUR_IMAGE_WIDTH / Gdx.graphics.getWidth();

    public static Sprite createScaledSprite(Texture texture) {
       Sprite sprite = new Sprite(texture);
       sprite.getTexture().setFilter(TextureFilter.Linear,
                TextureFilter.Linear);
       sprite.setSize(sprite.getWidth() / SCALE_RATIO,
            sprite.getHeight() / SCALE_RATIO);
       return sprite;
    }

答案 1 :(得分:0)

您可以使用视口。 https://github.com/libgdx/libgdx/wiki/Viewports

这种方式是针对固定分辨率编程,编程到相对分辨率可能很棘手。

答案 2 :(得分:0)

您始终可以访问正在使用的相机的宽度和高度。在屏幕上你应该有一个调整大小的方法,你可以用它来调整相机的视口大小。然后你可以缩小相机尺寸。