gpt4 book ai didi

java - libGDX - FitViewport 无法很好地缩放舞台

转载 作者:行者123 更新时间:2023-12-02 12:15:03 29 4
gpt4 key购买 nike

我想要做的是为我的世界设定一个虚拟尺寸,并在不改变纵横比的情况下尽可能地在屏幕上缩放该世界,FitViewport 似乎是最佳选择。这就是我在舞台上初始化视口(viewport)的方式。

public class PlayStage extends Stage{

public static final int WIDTH = 480;
public static final int HEIGHT = 800;

private final Vector2 gravity = new Vector2(0.f, -9.8f);
private World physWorld;

public PlayStage(){
super();
OrthographicCamera camera = new OrthographicCamera();
camera.setToOrtho(false, WIDTH, HEIGHT);
setViewport(new FitViewport(WIDTH, HEIGHT, camera));

physWorld = new World(gravity, false);
Gdx.input.setInputProcessor(this);

Ball ball = new Ball(physWorld);
setKeyboardFocus(ball);
addActor(ball);
}

@Override
public void draw() {
super.draw();
}

@Override
public void act(float delta) {
super.act(delta);
physWorld.step(delta, 10, 5);
}

@Override
public void dispose() {
super.dispose();
physWorld.dispose();
}}

这就是 Sprite 渲染时的样子(在 x 坐标上缩放太多)。而且我的 Actor 没有得到任何触地事件。

enter image description here

最佳答案

您需要更新舞台视口(viewport)。最好通过调整大小方法调整视口(viewport)的大小。

@Override
public void resize(int width, int height) {
stage.getViewport().update(width,height);
//stage.getViewport().update(width,height,true); // -> If you want camera to be at centre.
}

关于java - libGDX - FitViewport 无法很好地缩放舞台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46254055/

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