我有一个主菜单屏幕,有4个选项,New Game
,Load Game
,Options
和Exit
。
然后:
New Game
有更多选项,例如difficulty
,# of players
+ Start
按钮。
Load Game
有多个保存可供选择以及Load
和Delete
选项。
Options
有Graphics level
和Volume
广播/滑块+ Apply
,Discard
按钮。
最后,游戏界面会有一个可上传的游戏窗口,以及屏幕一侧的覆盖用户界面。
我的问题是,我不知道要为这些UI部分使用哪个类。
从this回答我知道Screen
是一个完整的用户界面页面,但似乎为每个主菜单创建了一个新的Screen
,然后是Stage
选项看起来像是一种矫枉过正,但也许这就是要走的路。我不知道是否应该使用Group
并根据用户点击的内容显示/隐藏这些内容。我还被告知使用Table
布局游戏画面。我在网上发现的所有指南都让我感到困惑。每个人看起来都不同于另一个。
文档非常好,但它从未说明各个部分是如何相互集成的。
对于如何在LibGDX中使用这些类,是否有任何共识?或者这是个人偏好?
答案 0 :(得分:2)
Screen
是核心libGdx部分,代表众多应用程序屏幕之一,例如mainscreen
,settingsscreen
,gamescreen
和等等。
在一个具有不同生命周期的ApplicationListener
上下文中维护不同的UI屏幕很难。
所以有一个Game
类和Screen
界面,可以帮助在设备屏幕上一次显示一个活动屏幕。
我想你现在已经清楚了,为什么我们需要不同的屏幕。
现在我如何设计一个像MenuSceen一样的屏幕,其中包含菜单按钮,游戏名称和充当HomeScreen的类似元素。
您可以使用scene2d,一个2D场景图,使用actor的层次结构构建UI。 Stage和Group是scene2d的核心类。
Stage
类具有相机,SpriteBatch和根组,并处理绘制actor和分发输入事件。
Group
class是一个可能有儿童演员的演员。