在 Libgdx 中处理屏幕的正确方法

2024-02-11

在 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(使用前将#替换为@)

在 Libgdx 中处理屏幕的正确方法 的相关文章

随机推荐