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
所以我创建了一个大小为 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