텍스처를 화면 해상도에 따라 크기가 조정되도록 그리지 못합니다.뷰포트 및 카메라에 따라 텍스처를 그립니다.
저는 ScreenViewport를 사용하고 있습니다 (글꼴을 매끄럽고 왜곡없이 사용하고 싶습니다).
float w = Gdx.graphics.getWidth();
float h = Gdx.graphics.getHeight();
gameCam = new OrthographicCamera(2f * h/w, 2f);
gamePort = new ScreenViewport(gameCam);
카메라의 높이와 너비가 무엇이든간에 결과는 같습니다. 렌더링 방법, 마지막으로
@Override
public void resize(int width, int height) {
gamePort.update(width, height, true);
renderer.stage.getViewport().update(width, height, true);
gameCam.viewportWidth = width;
gameCam.viewportHeight = height;
gameCam.update();
float aspectRatio = (float) width/(float) height;
gameCam = new OrthographicCamera(2f * aspectRatio, 2f);
gameCam.update();
: 크기 조정 방법에
, 나는 많은 것들을 시도public void render() {
sb.setProjectionMatrix(cam.combined);
sb.draw(block.getTexture(), block.getPosition().x, block.getPosition().y, BLOCK_WIDTH, BLOCK_HEIGHT);
BLOCK_WIDTH 및 BLOCK_HEIGHT = 48 개 내 텍스처 512px 그래서 내가 원하는입니다 그들보다 작게.
아래 그림에서 볼 수 있듯이 장치 크기가 큰 경우에도 창의 크기를 조정할 때도 텍스처의 크기와 위치가 동일하게 유지됩니다. 무대 상단에있는 점수 표에는이 문제가 없습니다.
이러한 변경을 시도합니다. 카메라는 어때? 이 경우 어떻게 구성합니까? – JavaDev
나는 카메라를 직접 다루지 않는다. 뷰포트에는 카메라가 포함되어 있으며 뷰포트로 수행하는 작업은 stage.getViewport(). update (width, height, true) 호출뿐입니다. resize 메서드의 내부. – Tekkerue
그래서 선언 할 때 폭이나 높이를 지정하지 않으십니까? 그리고 설정하지 마라 .Ortho? – JavaDev