在屏幕或游戏课上的舞台?

时间:2014-12-09 00:06:53

标签: libgdx box2d stage scene2d

我是Scene2d的新手,所以我有点困惑。想象一下,我们有这两个类:

public GameScreen implements Screen {

//override methods
}

public GameX extends Game {

//override methods
}

这两种方法都有渲染和调整大小等方法,所以我的问题是:

哪一种都是包含舞台/演员和Box2d内容的最佳方法?

2 个答案:

答案 0 :(得分:0)

Game课程实际上是游戏的核心。它的方法由GameLoop调用,或者如果发生某些事件则调用 每个游戏都可以有多个Screen,例如MenuScreenPlayScreenOptionScreenCreditsScreen。 所以Screen代表游戏的一部分 Game课程一次可以有一个有效Screen,并且在其自己的渲染中为reder()调用Screenpause()resume()的计数相同 如果您更改了有效Screen,则会为旧hide()调用Screenshow()

所以问题的答案是,如果您的Screen非常简单并且不包含不同的Game,那么您可以将Screen放在Stage内将Game类视为您的Game类,并将其视为Screen 如果您有多个Screen,则应使用Screen界面并在其中一个Stage条中设置Screen

答案 1 :(得分:0)

我使用两者,因为Game类可以在屏幕setScreen之间切换。通常我首先加载loadingScreen,在加载完成后加载所需的资产我切换到mainMenuScreen。但是你可以把一些演员放在游戏类中并从那里加载屏幕实现,这没关系。

但是对于干净的方法,我建议只需从Game create方法调用加载屏幕并从那里构建。由于每个游戏至少需要某种菜单和游戏屏幕。