テクスチャを描画して、画面の解像度に合わせてテクスチャのサイズを変更することはできません。ビューポートとカメラに応じてテクスチャを描く
私は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();
は最後に、renderメソッドで:
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
私はカメラを直接嫌うことはありません。 Viewportにはカメラがあり、Viewportで行うのはstage.getViewport()。update(width、height、true)です。 resizeメソッドの内部 – Tekkerue
それを宣言するときに、幅や高さを指定しないでください。そして設定しないでください.Ortho? – JavaDev