首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是Artemis池?

什么是Artemis池?
EN

Stack Overflow用户
提问于 2014-03-14 15:48:54
回答 1查看 510关注 0票数 1

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

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

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

1. Artemis的游泳池是什么?( AddComponentFromPool()做什么?)

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

如果这个问题没有得到很好的研究,我很抱歉,但我向你保证。尽管如此,如果你找到了一个解决我问题的来源(我怀疑你会),那么我欢迎你投反对票。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-24 08:29:15

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

  1. 对象池是一种设计模式,它通过重用曾经创建的对象来帮助减少垃圾收集。当您使用对象时,您可以从池中获得它。当你不再需要它的时候,把它放回游泳池,这样以后它就可以被重用了。在gamedev中使用对象池的最好例子是粒子系统实现。
  2. 在ECS中有很多方法可以做到这一点。最简单的方法是创建一些RenderableComponent,放置一些基于这两者呈现的PositionComponent和RenderSystem。您可能会忽略的事实是,Artemis不提供任何呈现,它只用于管理实体和系统。查看这个维基和喜欢的底部,以获得更多关于使用ECS的信息。
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22409800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档