【发布时间】:2015-05-13 17:03:01
【问题描述】:
所以我正在创建一个启动画面,我希望背景填满整个屏幕。
但是通过使用这个代码它不起作用,它只填满了屏幕的一部分。
代码如下:
用于初始化相机和其他东西:
public SplashScreen(Jump game)
{
this.game = game;
cam = new OrthographicCamera(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
cam.setToOrtho(false, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
sb = new SpriteBatch();
}
这是在屏幕上绘制背景的代码:
public void render(float delta)
{
Gdx.gl20.glClearColor(0.2F, 0.6F, 1F, 1F);
Gdx.gl20.glClear(GL20.GL_COLOR_BUFFER_BIT);
cam.update();
sb.begin();
sb.setProjectionMatrix(cam.combined);
sb.draw(Assets.splash_spr_background, 0, 0);
sb.end();
}
最后是初始化背景精灵的代码:
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);
}
这显然不起作用(这就是我发布这个的原因),这是我运行程序时的样子:
现在我的问题如下:
·如何让背景填满整个屏幕?
·我做错了什么/忘记输入了?
【问题讨论】:
-
很好,我将如何解决这个问题?
-
通常你会编辑/重新表述你的第一个问题。如果这不可能,那就写一个新问题,但至少关闭其他问题......
-
我现在将关闭其他人,但请专注于这个问题,我真的需要解决这个问题。 :)
-
问题是你的图片和窗口的尺寸不同(精灵不会自动调整到窗口大小),你可以通过使用视口来修复它。你在这个问题的其他副本中没有被告知吗?
-
@Tenfour04 是的,但我不明白我是如何实现它们或使用它们来使精灵填满整个屏幕的,当不帮助我开始时,每个人都会将我重定向到文档。
标签: java camera libgdx viewport scaling