gpt4 book ai didi

java - LibGdx 不缩放到整个屏幕

转载 作者:行者123 更新时间:2023-11-28 21:16:50 25 4
gpt4 key购买 nike

在我的 LibGdx 游戏中,我使用了 ExtendedViewport

 new ExtendViewport(LevelSmash.WIDTH, LevelSmash.HEIGHT, camera);

我设置宽度为708,高度为900,

在我的渲染方法中,我将 spritebatch 缩放到视口(viewport)的投影

    @Override
public void render(SpriteBatch sb) {

sb.setProjectionMatrix(vp.getCamera().projection);

Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

sb.begin();
level.render(sb);
sb.end();

stage.act();
stage.draw();
}

关卡的渲染方法是

    @Override
public void render(SpriteBatch sb) {
sb.setProjectionMatrix(vp.getCamera().projection);
sb.draw(background, 0 / LevelSmash.PPM, 0 / LevelSmash.PPM);

player.draw(sb);
}

PPM 等于 100

我希望背景占据整个屏幕,因为我将所有内容的宽度和高度缩放为 (708, 900)

但是看起来像这样

enter image description here

最佳答案

看起来您的相机以 0, 0 为中心并且您的纹理从 0, 0708, 900 开始绘制。最好将相机的中心设置为图像的中心。

camera.position.set(LevelSmash.WIDTH / 2, LevelSmash.HEIGHT / 2);
camera.update();

编辑

我觉得背景被画出来很奇怪。

sb.draw(background, 0 / LevelSmash.PPM, 0 / LevelSmash.PPM);
// 0 / X == 0 so width and height are always 0;

你能解释一下吗?因为很难相信您会看到那条线绘制的任何东西。

关于java - LibGdx 不缩放到整个屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41082228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com