Java Libgdx extendedviewport不能与Scene2D UI一起正常工作
我需要在我的游戏中使用Extendview端口,它在没有scene2d的情况下运行良好,但是当我添加scene2d时,我在顶部得到一个大条,而不是顶部和底部的两个条 以下是完整的代码:Java Libgdx extendedviewport不能与Scene2D UI一起正常工作,java,libgdx,scene2d,Java,Libgdx,Scene2d,我需要在我的游戏中使用Extendview端口,它在没有scene2d的情况下运行良好,但是当我添加scene2d时,我在顶部得到一个大条,而不是顶部和底部的两个条 以下是完整的代码: public class MenuScreen extends ScreenAdapter { private SpinBlaster game; private OrthographicCamera camera; private Viewport viewport; priva
public class MenuScreen extends ScreenAdapter {
private SpinBlaster game;
private OrthographicCamera camera;
private Viewport viewport;
private Stage stage;
private Sprite backgroundSprite = new Sprite();
public MenuScreen(SpinBlaster game) {
this.game = game;
}
public void show() {
camera = new OrthographicCamera();
camera.position.set(Constants.CENTER_X, Constants.CENTER_Y, 0);
viewport = new ExtendViewport(Constants.VIRTUAL_W, Constants.VIRTUAL_H, camera);
stage = new Stage(viewport);
Gdx.input.setInputProcessor(stage);
}
public void render(float delta) {
Gdx.gl.glClearColor(0,1,0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
game.batch.setProjectionMatrix(camera.combined);
game.batch.begin();
backgroundSprite.setRegion(AssetLoader.atlas.findRegion("background"));
backgroundSprite.setPosition(0,0);
backgroundSprite.setSize(Constants.VIRTUAL_W, Constants.VIRTUAL_H);
backgroundSprite.setColor(Constants.DARK_GRAY);
backgroundSprite.draw(game.batch);
game.batch.end();
stage.draw();
stage.act(delta);
}
public void resize(int width, int height) {
viewport.update(width, height);
camera.update();
}
.通过在
视口下方设置摄影机位置来修复此问题。更新
public void resize(int width, int height) {
viewport.update(width, height);
camera.position.set(Constants.CENTER_X, Constants.CENTER_Y, 0); // fixed
camera.update();
}
通过在
视口下方设置摄影机位置来修复此问题。更新
public void resize(int width, int height) {
viewport.update(width, height);
camera.position.set(Constants.CENTER_X, Constants.CENTER_Y, 0); // fixed
camera.update();
}