|
|
1
1
你也可以有不同的
|
|
|
2
0
我没有使用LibGDX,但我不得不处理相同的场景,并以不同的方式处理它。我发现,最适合我的是将公共字段和方法放在父级或Screens中,然后创建子级Screens和Stages来放置这些类特有的字段和方法。 例如,在一个特定的应用程序中,我有一个名为AppScreen的类。我所有的屏幕都继承了它。我还有另一个名为PagableScreen的类,它也继承了AppScreen,还有几个类继承自PagableScreen。这允许我将与PagableScreen相关的所有字段和方法放在一个位置,不需要在需要可分页功能的其他类中重新实现。 相反的设计是使用Decorator图案,这实际上效果很好,但如果问题空间不够大,可能会变得凌乱。使用Decorator,您可以创建特定的功能和属性作为特定屏幕/舞台的附加类,例如装饰类。因此,以PagableScreen为例,我希望使用PagableDecoration,任何需要可分页功能的屏幕都可以用它来装饰自己。这在可能需要添加一些其他装饰的情况下非常有效。例如,假设您也有一个MenuDecoration,它为屏幕提供了一些功能来显示菜单屏幕,现在需要Pagable和menu功能。使用Decorator模式,您可以在一个类中同时获得这两种属性,与纯继承一样,您只能是PagableScreen或MenuScreen。 但最终我还是同意会有一个GameScreen和GameStage,还有MenuScreen和MenuStage等等。目标是让它们变得优雅,如果它们的大部分实现都可以放在父类或装饰中的话,可能会很小。 |
|
|
Qmppu842 · 我应该在游戏的每个屏幕上使用屏幕+舞台吗? 10 年前 |
|
|
user3123633 · 1009电影剪辑错误,没有意义 12 年前 |
|
|
Ziiiii · 舞台、视口、摄影机、缩放和Nexus 7 12 年前 |