我用libgdx scene2d开始了一个2D自上而下游戏,我喜欢它的实现方式,它的逻辑以及程序员如何使用它(例如stage.act()
调用actor.act(delta)
每个注册{{1} }})。现在我想把这个逻辑用于3D游戏。我知道scene2d主要用于UI,而不是用于游戏,特别是不用于3D。但我的3D游戏逻辑就像2D自上而下。
让我解释一下:你,玩家,都在迷宫中。您只能与墙壁碰撞,这些墙壁在每个高度都是相同的。因此碰撞检测将与2D自上而下相同。你也不能跳,只能前进,后退...所以运动也会像2D自上而下一样。只有视图,所以绘图,将是第一人称,所以3D。将scene2d仅用于逻辑并使用{{1}}等进行3D绘图会不好?我只是想使用scene2d,所以我不必编写自己的“所有注册对象立即行动”的方法。你觉得怎么样?
答案 0 :(得分:2)
如果你想在Actors上捕捉输入事件,你可以使用scene2d,例如鼠标点击。
这实际上是scene2d的主要用途之一(以及它主要用于UI的原因)。另一个原因是能够对演员进行分组,但我认为你不需要这样做。
如果您不想捕捉游戏对象的输入事件,则不应使用scene2d。
模拟scene2d' Stage
的作用就像维护List<Entity>
并调用entity.update(delta)
(相当于stage.act())和entity.render(delta)
一样简单(等同于stage.draw())列表中的每个实体。