2016-03-25 38 views

cevap

0

Bir sabit genişliği ve yüksekliği korumak için FitViewport kullanabilirsiniz:

FitViewport viewport = new FitViewport(SCREEN_WIDTH, SCREEN_HEIGHT, camera);

yapmanız gereken tek şey sahnede görünümü ayarlamak daha sonra tüm aktörleri çizmek için bir Stage kullanıyorsanız böyle: bir Aşama kullanmıyorsanız

stage.setViewport(viewport);

Ancak o zaman aşağıdakileri yapmanız gerekir. Eğer bir SpriteBatch doğrudan çiziyorsanız siz de bir Camera kurmak gerekir:

SpriteBatch batch = new SpriteBatch(); 
OrthographicCamera camera = new OrthographicCamera(SCREEN_WIDTH, SCREEN_HEIGHT); 
camera.setToOrtho(true); 
//center the camera in the center of the screen 
camera.position.set(SCREEN_WIDTH/2f, SCREEN_HEIGHT/2f, 0f); 
//pass the camera to the third argument of the viewport 
FitViewport viewport = new FitViewport(SCREEN_WIDTH, SCREEN_HEIGHT, camera); 

Sonra Camera ve SpriteBatch üzerine projeksiyon matrisi kurmak gerekir işlerken:

@Override 
public void render(float deltaTime) { 
    camera.update(); 
    batch.setProjectionMatrix(camera.combined); 

    // do all the rendering of textures and stuff 

} 

Ayrıca, ekran her yeniden boyutlandırıldığında, görüntü alanını güncellemeniz gerekir:

@Override 
public void resize(int width, int height) { 
    viewport.update(width, height); 
}