2015-04-17 2 views
0

У меня проблемы с моим приложением. На iPhone (тестируется на 5c, 5s, 6) у меня есть две черные полосы с обеих сторон (на Android все хорошо выглядит). Как я могу избавиться от них?libgdx ios пейзаж не полноэкранный

two black stripes on both sides

Это мой код для рисования

@Override 
public void create() { 

    mWidth = Gdx.graphics.getWidth(); 
    mHeight = Gdx.graphics.getHeight(); 
    mScale = Math.max(mWidth, mHeight)/20f; 

    backgroundTexture = new Texture(Gdx.files.internal("backBlue.png")); 

    ShaderProgram.pedantic = false; 

    backgroundShader = new ShaderProgram(VERT, FRAG); 
    if (!backgroundShader.isCompiled()) { 
     System.err.println(backgroundShader.getLog()); 
     System.exit(0); 
    } 
    if (backgroundShader.getLog().length()!=0) 
     System.out.println(backgroundShader.getLog()); 

    backgroundBatch = new SpriteBatch(5, backgroundShader); 
} 


@Override 
public void render() { 
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); 

    backgroundBatch.begin(); 
    backgroundBatch.draw(backgroundTexture, 0, 0, mWidth, mHeight); 
    backgroundBatch.end(); 
    ... 
} 

@Override 
public void resize (int width, int height) { 
    mWidth = width; 
    mHeight = height; 
    mScale = Math.max(width, height)/20f; 

    backgroundShader.begin(); 
    backgroundShader.setUniformf("resolution", width, height); 
    backgroundShader.end(); 
} 

ответ

0

Это, вероятно, происходит потому, что viewport вы используете, который обычно устанавливается в конструктор или метод create.

Что такое viewport?

В основном, viewport - это объект, созданный для определения политики того, как игра будет нарисована на разных экранах. Например, скажем, ваша камера настроена на 480 x 800 (пикселей). Что произойдет, если ваша игра запущена на экране с другим соотношением, например, iPhone 5 с экраном 1,136 × 640 пикселей? Должна ли игра растягиваться? Следует ли обрезать изображение? Или должен libgdx добавить черные полосы с обеих сторон, чтобы они соответствовали размеру камеры, которую вы используете? Это решение принимается с помощью viewport вашей камеры.

Это все в двух словах. Настоятельно рекомендуем прочитать об этом на wiki.

Кроме того, хороший учебник по этой теме можно найти here.

Смежные вопросы