libgdx阶段和屏幕之间的区别

时间:2013-05-02 20:38:43

标签: android libgdx game-engine

我正在制作游戏,我在教程中看到一些人使用Stage类,而其他人使用Screen类,但我无法弄清楚差异。

1 个答案:

答案 0 :(得分:32)

Stage保存Actor个实例并更新/动画它们并管理其中的点击检测。它是scene2d "scene graph" API的根。舞台是一种管理要绘制的对象列表,它们在屏幕上的状态(纹理,动画状态,大小等)以及它们与用户的交互的方式。 Libgdx中提供的Stage代码主要面向按钮和列表等UI元素,但核心足够灵活,可以包含游戏元素。

Screen通常代表一个全屏UI“页面”。例如,您可能有一个“主菜单”屏幕,一个“选项”屏幕,一个“主游戏”屏幕和一个“结束信用”屏幕。 Screen实例通常由Game实例管理。与Game一起使用时,Screen个对象将收到标准的Libgdx生命周期事件作为回调(pauseresumeresizerender,等等)。

Libgdx中StageScreen之间没有具体关系。但最容易想到的一个例子是“主菜单”屏幕由管理主菜单中按钮的舞台实现。当用户点击其中一个按钮时,游戏可能切换到主游戏屏幕,并释放主菜单保存的一些资源。游戏播放屏幕可能使用Stage或可能使用原始OpenGL来实现游戏。

相关问题