gpt4 book ai didi

c# - 什么是阿尔忒弥斯池?

转载 作者:太空宇宙 更新时间:2023-11-03 21:34:33 24 4
gpt4 key购买 nike

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

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

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

<强>1。阿耳emi弥斯的游泳池是什么? (AddComponentFromPool() 做什么?)

<强>2。如何使用 Artemis 在屏幕上绘制内容? (缺少的链接是什么?)

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

最佳答案

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

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

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

关于c# - 什么是阿尔忒弥斯池?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22409800/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com