Java Libgdx scene2d用于具有2D逻辑的3D游戏?
我用libgdx scene2d开始了一个2D自上而下的游戏,我喜欢它的实现方式、逻辑以及程序员如何使用它(例如Java Libgdx scene2d用于具有2D逻辑的3D游戏?,java,3d,libgdx,scene2d,Java,3d,Libgdx,Scene2d,我用libgdx scene2d开始了一个2D自上而下的游戏,我喜欢它的实现方式、逻辑以及程序员如何使用它(例如stage.act()调用actor.act(delta)为每个注册的actor)。现在我想把这个逻辑用于3D游戏。我知道scene2d主要是为UI设计的,而不是为游戏设计的,尤其是3D。但我的3D游戏逻辑就像2D自上而下。 让我解释一下:你,玩家,在迷宫里。只能与墙碰撞,因为墙在每个高度上都是相同的。因此,碰撞检测将与2D自上而下中的相同。你也不能跳,只能向前走,向后走。。。所以运动
stage.act()
调用actor.act(delta)
为每个注册的actor
)。现在我想把这个逻辑用于3D游戏。我知道scene2d主要是为UI设计的,而不是为游戏设计的,尤其是3D。但我的3D游戏逻辑就像2D自上而下。
让我解释一下:你,玩家,在迷宫里。只能与墙碰撞,因为墙在每个高度上都是相同的。因此,碰撞检测将与2D自上而下中的相同。你也不能跳,只能向前走,向后走。。。所以运动也和2D自上而下一样。只有视图才是第一人称,所以是三维的。将scene2d仅用于逻辑,而将
模型
等用于3D绘图,这会不会太糟糕?我只是想使用scene2d,所以我不必编写自己的“所有注册对象立即行动”方法。您对此有何看法?在本例中,如果您想捕捉演员的输入事件,例如鼠标单击,可以使用scene2d
这实际上是scene2d的主要用途之一(也是为什么它主要用于UI)。另一个原因是能够将演员分组,但我认为你不需要这样
如果不想捕捉游戏对象上的输入事件,则不应使用scene2d
模拟scene2d的
Stage
所做的工作非常简单,只需维护列表
并调用entity.update(delta)
(相当于Stage.act())和entity.render(delta)
(相当于Stage.draw())在列表中的每个实体上。因此,我自己来管理它会更容易,而不是使用scene2d?如果您不想单击“参与者”,可以。否则scene2d可能会有用。非常感谢!我希望我能做一个简单的3D游戏xD+1