Полноэкранное разрешение на Android для игр libgdx

Мне было интересно, есть ли способ делать игры для Android в libgdx, чтобы все они имели одинаковое разрешение 480x800. Использование Gdx.graphics.setDisplayMode(480, 800, true) ничего не меняет. Создание OrthographicCamera размером 480 на 800 делает игру размером 480 на 800, но не увеличивает масштаб в полноэкранном режиме и не занимает весь экран, как я ожидал. Когда я тестировал его на своем телефоне, телефон просто использовал пустое пространство, чтобы заполнить остальную часть экрана во время игры с разрешением 480x800. Вот код, который я использую.

public class GameScreen implements Screen {

private Game game;
private OrthographicCamera guiCam;
private SpriteBatch batch;
private Texture texture;
private Rectangle glViewport;

public GameScreen (Game game)
{
        this.game = game;
        guiCam = new OrthographicCamera(GAME_WIDTH, GAME_HEIGHT);
        guiCam.position.set(GAME_WIDTH / 2, GAME_HEIGHT / 2, 0);
        batch = new SpriteBatch();
        texture = new Texture(Gdx.files.internal("data/c2.png"));
        glViewport = new Rectangle(0, 0, GAME_WIDTH, GAME_HEIGHT);
}

@Override
public void render(float delta) {
    if (Gdx.input.justTouched()) {
          texture = new Texture(Gdx.files.internal("data/c1.png"));
    }
    GL10 gl = Gdx.graphics.getGL10();
    gl.glClearColor(1, 0, 0, 1);
    gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
    gl.glViewport((int) glViewport.x, (int) glViewport.y,
            (int) glViewport.width, (int) glViewport.height);

    guiCam.update();
    guiCam.apply(gl);
    batch.setProjectionMatrix(guiCam.combined);
    batch.begin();
    batch.draw(texture, 0, 0, 0, 0, 142, 192);
    batch.end();
}

private static final int GAME_WIDTH = 480;
private static final int GAME_HEIGHT = 800;
}

Заранее спасибо.

6
задан MasterBirdy 27 March 2012 в 23:46
поделиться