从文档中,ScreenAdapter是Screen的便捷实现.我不确定何时更好地实现Screen和扩展ScreenAdapter.这样或那样做的具体好处是什么?
ScreenAdapter
实施Screen
,所以实践中的结果将是相同的.但代码看起来会有所不同.
在方便的ScreenAdapter
是,它提供了一个默认的空实现.因此@override
,您不必使用不需要的方法,从而保持代码清洁.
但是,java不支持扩展多个类.例如,您无法扩展ScreenAdapter
和InputAdapter
.在这种情况下,你必须选择扩展哪一个,你必须实现(编写代码,即使你不需要方法)另一个.
一定要看看源代码并亲眼看看,这并不神奇:https: //github.com/libgdx/libgdx/blob/master/gdx/src/com/badlogic/gdx/ScreenAdapter.java
那说; 方便不必实现方法,可能会让你忘记那些方法.例如,如果您实现,ApplicationListener
那么您将面临应用程序的生命周期,但如果您扩展,ApplicationAdapter
那么很容易忘记例如resize
或dispose
方法.因此,我个人通常ApplicationListener
在创建教程时使用.另一方面,当我需要编写快速测试或类似的时候,我会使用ApplicationAdapter
.