何时使用ScreenAdapter和何时使用Screen

pot*_*ato 2 libgdx

从文档中,ScreenAdapter是Screen的便捷实现.我不确定何时更好地实现Screen和扩展ScreenAdapter.这样或那样做的具体好处是什么?

Xop*_*ppa 7

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.