Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Libgdx scene2d用于具有2D逻辑的3D游戏?_Java_3d_Libgdx_Scene2d - Fatal编程技术网

Java Libgdx scene2d用于具有2D逻辑的3D游戏?

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自上而下中的相同。你也不能跳,只能向前走,向后走。。。所以运动

我用libgdx scene2d开始了一个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