所以我正在创建一个游戏,我将绘制一个背景,但这个背景并不覆盖整个屏幕,即使我降低窗口大小也不会覆盖整个窗口。以下是绘制背景的代码:
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);
}
现在我的问题是:为什么这不起作用?我做错了什么?
感谢您的帮助! :)
答案 0 :(得分:1)
游戏不需要1920x1080分辨率。这显然是一种矫枉过正。想象一下,具有较低规格设备的人将会播放它。
所以你可以设置屏幕以匹配背景:
cam.setToOrtho(false, 1280, 720);
如果你真的需要解决方案,你可以像这样扩展背景:
background.setWrap(Texture.TextureWrap.ClampToEdge, Texture.TextureWrap.ClampToEdge);