我正在用 LIBGDX 构建一个简单的游戏,我遇到了这个恼人的问题。
我有一个 MenuScreen.java 类,如下所示:
这是关于 pastebin 的完整课程
重要的部分是 imageButton 的 inputListener:
button.addListener(new InputListener(){
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button){
return true;
}
@Override
public void touchUp(InputEvent event, float x, float y, int pointer, int button){
MineFinder.Log.debug("xpos: " + x + ", ypos: " + y);
game.setScreen(new GameScreen(game));
}
});
我的问题是,如果由于某种原因存在此类(并且从中调用 GameScreen),如果我单击 ImageButton 在 GameScreen 中的位置,它仍然会处理输入。这真的很烦人,因为如果玩家点击屏幕的那个部分,游戏就会被重置。
如果我删除对 MenuScreen.java 文件的引用,并将其全部跳过,则问题不存在,所以我很确定问题在于 InputListener 没有被“删除”
任何想法如何解决这一问题?
谢谢!