【问题标题】:What is the Artemis Pool?什么是阿尔忒弥斯池?
【发布时间】:2014-04-20 00:39:48
【问题描述】:

Artemis 似乎是一个出色的 ECS 框架,但至少可以说缺乏文档。我是 ECS 新手,不知道自己在做什么,但我想学习。

我的目标是在屏幕上画一些东西。我正在使用 MonoGame 和 Visual Studio 2012(与 Artemis)。我花了很多时间浏览 StarWarrior 代码,但没有任何成功。我找不到 SpatialFormComponent 和我要绘制的东西(例如 PlayerShip)之间的链接。

我对该问题的最佳猜测是我错误地使用了池。所以我的两个问题:

1.阿尔忒弥斯的游泳池是什么? (AddComponentFromPool() 有什么作用?)

2。如何使用 Artemis 在屏幕上绘制一些东西? (缺少的链接是什么?)

如果这个问题似乎没有得到很好的研究,我很抱歉,但我向你保证它是。话虽如此,如果您找到解决我问题的来源(我怀疑您会),那么我欢迎反对。

【问题讨论】:

    标签: c# entity components system artemis


    【解决方案1】:

    问题有点老了,但我很想回答。

    1. Object Pool 是一种设计模式,它通过重用创建的对象来帮助减少垃圾收集。当您使用对象时,您可以从池中获取它。当您不再需要它时,将其放回池中,以便以后可以重复使用。在游戏开发中使用对象池的最佳示例是粒子系统实现。

    2. 在 ECS 中有很多方法可以做到这一点。最简单的就是创建一些RenderableComponent,放一些PositionComponent和RenderSystem,基于这两者进行渲染。您可能会错过的事实是 Artemis 不提供任何渲染,它只是用于管理实体和系统。查看this wiki 并在底部点赞以获取有关使用 ECS 的更多信息。

    【讨论】:

      猜你喜欢
      • 2019-05-05
      • 1970-01-01
      • 2022-11-28
      • 2020-07-21
      • 2016-08-23
      • 1970-01-01
      • 2016-06-25
      • 2012-08-09
      • 1970-01-01
      相关资源
      最近更新 更多