2017-08-21 74 views
0

這幾乎是同樣的問題,這樣的問題後按鈕,但它不爲我工作:Libgdx : setting another screen, but still buttons from old screen activelibGDX:「鬼」下一個屏幕上設置屏幕

第一屏:

public void show(){ 
    Gdx.input.setInputProcessor(stage); 
    myButton.addListener(new ClickListener() { 
     public void touchUp (InputEvent event, float x, float y, int pointer, int button) { 
      game.setScreen(new SecondScreen(game)); 
      dispose(); 
      return; 
     } 
    }); 

public void dispose(){ 
    stage.dispose(); 
} 

第二個屏幕:

public void show(){ 
    Gdx.input.setInputProcessor(stage); 
    [...] 
} 

設置一個新的屏幕後,我仍然可以看到我的第一個屏幕上的不透明度爲〜20%的按鈕。這就像一個「鬼」按鈕。這個問題的原因是什麼?

回答

0

嘗試stage.clear()並在切換屏幕之前用gl方法清除屏幕。

0

你是否在SecondScreen類中的render()方法中清除屏幕?

Gdx.gl.glClearColor(0,0,0, 1); 
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); 
+0

是的,我喜歡。首先清除屏幕,然後stage.act()和stage.draw() –

+0

您可能需要發佈完整但簡化的代碼(兩個屏幕類)作爲錯誤證明。 – Adam