Minimum ve maksimum en boy oranını ayarlamak mümkün mü? 1: 1 ila 2,5: 1 arasında bir seçim yapalım. Ya da en azından genişlik ve yükseklik için minimum ve maks.Libgdx kilit en boy oranı belirli bir aralığa
1
A
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);
}
Çözümümüzü test edebiliyordunuz? – leonziyo