何时使用ScreenAdapter和何时使用Screen

时间:2015-12-08 18:26:50

标签: libgdx

从文档中,ScreenAdapter是Screen的便捷实现。我不确定何时更好地实现Screen和扩展ScreenAdapter。以某种方式做到这一点有什么特别的好处?

1 个答案:

答案 0 :(得分:6)

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