libgdx中"Game","Screen"和"ApplicationAdapter"有什么区别?

Leo*_*pik 8 java game-engine libgdx

在教程中,有时人们使用"扩展游戏",有时"实现屏幕",我自动生成"扩展ApplicationAdapter".他们之间有什么区别?

Vin*_*igh 16

ApplicationAdapter允许您创建一个侦听器,但不是被迫实现每个方法.如果您熟悉Swing,请查看KeyAdapter,这是一样的想法.

An ApplicationListener允许您处理应用程序事件.这允许您在应用程序生命周期内的某些事件(例如destroy)中执行代码.

在创建,恢复,呈现,暂停或销毁应用程序时调用ApplicationListener.在具有OpenGL上下文当前的线程中调用所有方法.因此,您可以安全地创建和操作图形资源.

A GameApplicationListener支持多个屏幕的.您可以创建多个屏幕并在使用之间切换setScreen.

委托给Screen的ApplicationListener.这允许应用程序容易地具有多个屏幕.

A Screen正是它听起来的样子; 它是在给定时间显示的内容.也许它是一个主菜单,也许它是真正的游戏.

表示许多应用程序屏幕中的一个,例如主菜单,设置菜单,游戏屏幕等.

建议您使用Game该类作为游戏的基础,然后创建Screen您将拥有的不同可能游戏状态的多个实例.