问题就像这个问题几乎一样,但它对我不起作用:Libgdx : setting another screen, but still buttons from old screen active
第一个屏幕:
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 :(得分:0)
您是否在SecondScreen类的render()方法中清除了屏幕?
Gdx.gl.glClearColor(0,0,0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
答案 1 :(得分:0)
在切换屏幕之前尝试stage.clear()并使用gl方法清除屏幕。