Libgdx 精灵大小匹配屏幕大小

Libgdx sprite size matching screen size


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

我有一个 window 是 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();
}

精灵出现在window中,但不是整个精灵,只出现了它的1/2。

现在我的问题是:

·无论屏幕多大,如何让sprite充满整个屏幕?

感谢您的帮助! :)

我建议为此使用视口: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()):

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

稍微弄一下就可以了,很简单。

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