1
올바른 가로 세로 비율을 사용하여 게임을 시작하면 창의 크기를 조정할 때 게임의 크기가 매우 잘 맞지만 다른 가로 세로 비율을 사용하여 응용 프로그램을 시작할 때 게임이 잘못되었습니다. 화면 클래스에서 Fitviewport가 제대로 작동하지 않습니다
public static final int VirtualWidth = 720;
public static final int VirtualHeight = 1280;
내가 fitviewport를 사용합니다 :
나는 주요 게임 클래스에서 설정이 전역있다.
private Stage gameStage;
private OrthographicCamera camera;
private SpriteBatch batch;
private Viewport vp = new FitViewport(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
public GameScreen()
{
batch = new SpriteBatch();
camera = new OrthographicCamera(ShufflePuzzle.VirtualWidth, ShufflePuzzle.VirtualHeight);
camera.setToOrtho(false, ShufflePuzzle.VirtualWidth, ShufflePuzzle.VirtualHeight);
FitViewport vp = new FitViewport(Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), camera);
vp.update(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
gameStage = new Stage(vp, batch);
Gdx.input.setInputProcessor(gameStage);
}
@Override
public void render(float delta) {
Gdx.gl.glClearColor(.2f, .2f, .3f, 1);
Gdx.gl.glClear(GL30.GL_COLOR_BUFFER_BIT);
gameStage.act();
gameStage.draw();
}
@Override
public void resize(int width, int height) {
vp.update(width,height);
gameStage.getViewport().update(width,height, false);
}
지금까지 내가 카메라의 실제 크기와 뷰포트를 가상 값으로 설정해야한다는 것을 알고 있습니다. 나는 정확히 같은 결과로 이것을 바꾸려고 노력했다. 다음은 내 데스크탑 구성입니다.
//The size i made my game for, here everything works like a charm.
// If i resize my viewport manually to 1024x768 the screen gets fitted like it should.
config.width=720/2;
config.height=1280/2;
//When I use below config my stage will not fit the screen.
config.width = 1024 * 2;
config.height = 768 * 2;