在libGDX中使用Ashley和Scene2d?

时间:2016-12-16 19:20:37

标签: libgdx scene2d

我想使用Ashley,但我也想在Scene2d中使用动作和监听器。我读到这不是一个好主意,但为什么呢?我可以用stage.act()创建一个系统吗?和stage.draw();在更新方法中还是一个坏主意?感谢。

1 个答案:

答案 0 :(得分:4)

我不认为你可以说将Scene2D和像Ashley这样的ECS混合在一起总是一个坏主意。对于您的用户界面,使用Scene2D.UI可能会产生 lot ,然后使用Ashley来完成其他任务。正如您所指出的,没有技术的原因,您无法将这两者联系在一起。它是基于您的特定用例的判断调用。

话虽这么说,你通常不会将Scene2D和Ashley一起使用的一个原因是它们有很多重叠。计算机科学的基本原则之一是“不要重复自己” - 不要两次构建相同的东西,当你构建一些东西时,确保你使用的部分就像可能。这包括避免您不需要的库。

如果您使用Scene2D的动作来移动您的演员/实体,并使用Stage#draw()绘制所有内容,那么Ashley要添加什么?可能还不足以证明它增加的复杂性。