【问题标题】:Use Ashley with Scene2d in libGDX?在 libGDX 中使用 Ashley 和 Scene2d?
【发布时间】:2016-12-16 19:20:37
【问题描述】:

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

【问题讨论】:

    标签: libgdx scene2d


    【解决方案1】:

    我不认为你可以说混合 Scene2D 和像 Ashley 这样的 ECS 总是一个坏主意。 很多将 Scene2D.UI 用于您的用户界面,然后将 Ashley 用于其他一切。正如您所指出的,没有技术上的原因导致您不能将这两者联系在一起。这是根据您的特定用例做出的判断。

    话虽如此,您通常不会同时使用 Scene2D 和 Ashley 的一个原因是它们有很多重叠。计算机科学的基本原则之一是“不要重复自己”——不要重复构建相同的东西,并且在构建某些东西时,请确保使用尽可能少的部分。这包括避免使用不需要的库。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-06
      • 1970-01-01
      • 2015-12-24
      • 2015-06-24
      • 2015-10-22
      • 2016-05-28
      • 1970-01-01
      • 2015-12-10
      相关资源
      最近更新 更多