What is the difference between “Game”, “Screen” and “ApplicationAdapter” in libgdx?

こ雲淡風輕ζ 提交于 2019-12-21 04:20:33

问题


In tutorials sometimes people use "extends Game", sometimes "implements Screen" and i have auto-generated "extends ApplicationAdapter". What is the difference between them?


回答1:


ApplicationAdapter allows you to create a listener, but not being forced to implement every method. If you're familiar with Swing, check out KeyAdapter, it's the same idea.

An ApplicationListener allows you to handle application events. This allows you to execute code during certain events within the application life-cycle (such as destroy).

An ApplicationListener is called when the Application is created, resumed, rendering, paused or destroyed. All methods are called in a thread that has the OpenGL context current. You can thus safely create and manipulate graphics resources.

A Game is an ApplicationListener that supports multiple screens. You can create multiple screens and switch between em using setScreen.

An ApplicationListener that delegates to a Screen. This allows an application to easily have multiple screens.

A Screen is exactly what it sounds like; it's what will be displayed at that given time. Maybe it's a main menu, maybe it's the actual game.

Represents one of many application screens, such as a main menu, a settings menu, the game screen and so on.

It's recommended you use the Game class for the base of your game, then create multiple Screen instances of the different possible game states you will have.



来源:https://stackoverflow.com/questions/31222541/what-is-the-difference-between-game-screen-and-applicationadapter-in-libg

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!