根据文档,ScreenAdapter是Screen的便捷实现。我不确定何时更好地实现Screen和何时扩展ScreenAdapter。以一种方式或另一种方式进行操作有哪些具体好处?

最佳答案

ScreenAdapter实现Screen,因此实际结果将是相同的。该代码看起来会有些不同。
ScreenAdapter的便利之处在于它提供了默认的空实现。因此,您不必使用不需要的@override方法,从而使代码更整洁。

但是,java不支持扩展多个类。例如,您不能同时扩展ScreenAdapterInputAdapter。在这种情况下,您必须选择要扩展的一个,并且必须实现(即使不需要该方法也可以编写代码)另一个。

确保查看源代码并亲自查看,这没什么神奇的:
https://github.com/libgdx/libgdx/blob/master/gdx/src/com/badlogic/gdx/ScreenAdapter.java

那说;不必实施这些方法而带来的便利可能会使您忘记那些方法。例如,如果实现ApplicationListener,则面临应用程序的生命周期,但如果扩展ApplicationAdapter,则很容易忘记例如。 resizedispose方法。因此,就个人而言,我通常在创建教程等时使用ApplicationListener。另一方面,当我需要编写快速测试或类似测试时,可以使用ApplicationAdapter

09-25 10:56