- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
Artemis 似乎是 ECS 的优秀框架,但至少可以说缺少文档。我是 ECS 的新手,不知道自己在做什么,但我想学习。
我的目标是在屏幕上画一些东西。我正在使用 MonoGame 和 Visual Studio 2012(与 Artemis)。我花了很多时间搜索 StarWarrior 代码,但没有成功。我找不到 SpatialFormComponent 和我想绘制的东西(例如 PlayerShip)之间的链接。
我对该问题的最佳猜测是我错误地使用了池。所以我的 2 个问题:
<强>1。阿耳emi弥斯的游泳池是什么? (AddComponentFromPool() 做什么?)
<强>2。如何使用 Artemis 在屏幕上绘制内容? (缺少的链接是什么?)
如果这个问题没有得到很好的研究,我很抱歉,但我向你保证。话虽这么说,如果您找到解决我问题的来源(我怀疑您会),那么我欢迎投反对票。
最佳答案
问题有点老,但我想回答。
Object Pool是一种设计模式,它通过重用曾经创建的对象来帮助减少垃圾收集。当您使用对象时,您会从池中获取它。当您不再需要它时,将它放回池中,以便以后可以重复使用。在 gamedev 中使用对象池的最佳示例是粒子系统实现。
在 ECS 中有很多方法可以做到这一点。最简单的是创建一些 RenderableComponent,放置一些 PositionComponent 和基于这两者渲染的 RenderSystem。您可能会错过的事实是 Artemis 不提供任何渲染,它只是用于管理实体和系统。查看this wiki并在底部点赞以获取有关使用 ECS 的更多信息。
关于c# - 什么是阿尔忒弥斯池?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22409800/
Consider the problem of examining a string x = x1x2 ...xn from an alphabet of k symbols, and a multi
我见过a few questions和 answers在SO上暗示MD5不如SHA之类的安全。 我的问题是,在我的情况下,这值得担心吗? 这是我如何使用它的示例: 在客户端,我通过附加当前时间和密码然
以前从来没有过。如果我使用 fopen() 等函数从磁盘读取文件,fopen 会成功,但 FILE * 内容看起来有点 NULL-ish。然后我尝试 fseek(SEEK_END) 并报告文件大小为
我是一名优秀的程序员,十分优秀!