在 Libgdx 中完全处理屏幕的正确方法是什么?目前,如果我单击前一个屏幕上的按钮所在的位置,该按钮仍然会执行我在该屏幕上时所做的操作。我可以做.dispose()
-尽我所能dispose()
方法?还是有更简单的方法来处理屏幕上的所有内容?
不幸的是没有更简单的方法。这些类没有任何共同点“Disposable
“界面,或类似的东西,自动完成。一切有dispose()
当不再需要该方法时,需要手动处理该方法。
这也适用于Screens
他们自己。切换时Screens
它们不会自动处理,但您需要自己执行此操作(在调用之前Game.setScreen()
).
另一方面,这没什么大不了的。只要浏览一下你的一切Screen
并检查是否需要处理。如果有dispose方法,则调用它dispose()
of the Screen
.
但这并不能解释您上次对隐形按钮的行为Screen
。我想你用的是Stage
并使用Gdx.input.setInputProcessor(stage);
。当您更换屏幕时,此设置不会更改,并且您必须将输入处理器设置为Stage
您当前的Screen
,或者处理当前输入的任何内容Screen
。这样“旧”阶段将不再捕获任何输入。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)