Libgdx缩放背景问题

时间:2015-05-12 19:58:58

标签: java libgdx textures sprite scaling

所以我正在创建一个游戏,我将绘制一个背景,但这个背景并不覆盖整个屏幕,即使我降低窗口大小也不会覆盖整个窗口。以下是绘制背景的代码:

var result = _client.Search<film>(s => s
    .AllIndices()
    .From(0)
    .Size(10)
    .Query(q => q
    .Match(p => p.Title, query)
));

以下是初始化精灵的代码:

    Gdx.gl20.glClearColor(0.2F, 0.6F, 1F, 1F);
    Gdx.gl20.glClear(GL20.GL_COLOR_BUFFER_BIT);
    cam.update();
    sb.setProjectionMatrix(cam.combined);

    sb.begin();
    sb.draw(Assets.splash_spr_background, 0, 0);
    sb.end();

最后这里是初始化相机的代码。 spritebatch东西:

public static Texture splash_tex_background;
public static Sprite splash_spr_background;

public static void init() 
{
    splash_tex_background = new Texture(Gdx.files.internal("Splash Screen/background.png"));
    splash_tex_background.setFilter(TextureFilter.Linear, TextureFilter.Linear);
    splash_spr_background = new Sprite(splash_tex_background);
}

现在我的问题是:为什么这不起作用?我做错了什么?

感谢您的帮助! :)

1 个答案:

答案 0 :(得分:1)

游戏不需要1920x1080分辨率。这显然是一种矫枉过正。想象一下,具有较低规格设备的人将会播放它。

所以你可以设置屏幕以匹配背景:

cam.setToOrtho(false, 1280, 720);

如果你真的需要解决方案,你可以像这样扩展背景:

background.setWrap(Texture.TextureWrap.ClampToEdge, Texture.TextureWrap.ClampToEdge);