2016-04-06 25 views
0
public class MenuState extends State { 
private OrthographicCamera camera; 
private Viewport viewport; 
private MenuButtons playButton; 

public MenuState(GameStateManager gsm, int tryscore, AssetsClass assetsClass, PreferencesHelper preferencesHelper) { 
    super(gsm); 

    camera = new OrthographicCamera(); 
    viewport = new FitViewport(ButtonCrash.V_WIDTH, ButtonCrash.V_HEIGHT, camera); 
    viewport.apply(); 

    playButton = new MenuButtons(assetsClass.getManager().get("mainmenu/button_play.png", Texture.class), 1); 
    playButton.getButton().setSize(200, 200); 
    playButton.getButton().setPosition(-100, -100); 
} 
@Override 
protected void handlingInput() { 

} 

@Override 
public void update(float delta) { 
    camera.update(); 
} 

@Override 
public void render(SpriteBatch sb) { 
    sb.setProjectionMatrix(camera.combined); 
    sb.begin(); 
    playButton.getButton().draw(sb); 
    sb.end(); 
} 

@Override 
public void dispose() { 

} 

}Libgdx - Ekran

uygulayan Ve de kamera güzel çalışıyor, ama onlar değil var gibi görüş alanınız yok, öyle değil!

Aslında ben bile yapıcı yargılanan kod hakkında herşeyi kopyalanmış:

viewport.update(Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); 

Ama ben kod çalışmıyor Screen uygulayan değilim çünkü benzerleri gibi görünüyor. Oyun ve Ekran arayüzü olmadan oyunumu yaptım, ama kendi State sınıfımı yaptım. Burada sorun ne olabilir?

+0

LibGdx ahs a büyük biri olduğunda kendi devlet sınıfınızı oluşturmanın belirli bir nedeni var mı? –

+0

Yeniden boyutlandırma yönteminde viewport.update öğesini çağırdığınızdan emin olun. State sınıfınızın bir ihtiyacı var gibi görünüyor. – Tenfour04

+0

Uyguladığınız "resize()" yönteminiz var mı? –

cevap

0

Görüntüleme parkurunu bildiğim kadarıyla uygulamalısınız. Yani başında

viewport.apply(); 

koymak senin) (işlemek; matrisi belirlemeden önce.

neşelendirenler