在Libgdx中部署屏幕的正确方法

Chr*_*ris 7 java android dispose libgdx

在Libgdx中完全处理屏幕的正确方法是什么?目前,如果我点击我前一个屏幕上的按钮所在的位置,那么按钮仍然可以完成我在屏幕上的操作.我应该.dispose()dispose()方法中尽我所能吗?或者是否有更简单的方法来处理屏幕上的所有内容?

noo*_*one 17

不幸的是,没有更简单的方法.这些类不会共享任何类型的常用" Disposable"界面,或类似的东西,以自动执行.具有dispose()方法的所有东西都需要在不再需要时手动处理.

这对Screens他们自己也有效.切换时,Screens它们不会自动处理,但您需要自己(在致电之前Game.setScreen())这样做.

另一方面,这不是什么大问题.只需查看您的所有内容,Screen检查是否需要处理.如果有一个Dispose方法,调用它dispose()Screen.

但这并没有解释你对最后一个隐形按钮的行为Screen.我想你使用Stage和使用Gdx.input.setInputProcessor(stage);.更改屏幕时,此设置不会更改,您必须将输入处理器设置为Stage当前的输入处理器Screen,或处理当前输入处理器的任何设置Screen.这样,"旧"阶段将不再捕获任何输入.