Libgdx精灵大小匹配屏幕大小

时间:2015-05-15 21:04:03

标签: java libgdx size screen scaling

所以我创建了一个1920 x 1080的背景。

我有一个1280 x 720的窗口(并不总是这么大)

现在,当我使用此代码渲染精灵时:

@Override
public void render(float delta) 
{
    Gdx.gl20.glClearColor(0.2F, 0.5F, 1F, 1F);

    Gdx.gl20.glClear(GL20.GL_COLOR_BUFFER_BIT);

    sb.begin();

    sb.draw(Assets.splash_spr_bg, 0, 0);

    sb.end();
}

精灵出现在窗口中但不是整个精灵,就像它的1/2一样。

现在这是我的问题:

·无论屏幕大小如何,如何让精灵填满整个屏幕?

感谢您的帮助! :)

1 个答案:

答案 0 :(得分:0)

我建议您使用视口:https://github.com/libgdx/libgdx/wiki/Viewports

它是汉德尔屏幕尺寸的绝佳方式。 为了让它填满整个屏幕你可能需要尝试类似的东西:

Picture1.setX(stage.getWidth() / 2 - Picture1.getWidth() / 2); 
Picture1.setY(stage.gethight() - Picture1.getHeight() /)

在这个例子中,我使用了一个舞台,但是它可以正常工作,而不仅仅是记住你获得屏幕宽度和高度,或者将它们设置为0,0并将它放在角落里。另请注意,我将宽度减半,这是因为否则它总是会在屏幕外呈现。然后你可以尝试使用类似的东西:

Picture1.setSize(stage.getWidth() / 2, stage.getHeight()):

你可以做到的另一种方式是通过设置你的视口放大图片(所以相同的大小),这样它也会给你一个全屏视图,即使我不喜欢这个想法,但这是个人偏好。此后一个不会使你的背景看起来全部拉伸和像素化,因为它没有被调整大小,但如果你拍摄的图片足够大,你也不会在第一个选项中注意到它。

随便乱七八糟,很容易。

如何实现Viewport的示例:http://pastebin.com/3SrWKcEg