Artemis ECS的bit中的Component Type成员以及TypeBit中的SystemBitEntity成员的目的是什么?

以下是Artemis ECS的git仓库的一些屏幕截图,它们引用了ComponentTypeEntity

对于ComponentType



对于Entity


Here是git的链接。

最佳答案

调查https://github.com/gemserk/artemis/blob/master/src/com/artemis/EntityManager.java
-在addComponent函数。它呼吁

e.addTypeBit(type.getBit());


另外removeComponent()调用:

e.removeTypeBit(type.getBit());


因此,这只是实体内组件的ID。另一个ID用于收集EntityManager中的组件类型。

无论如何,这是一个有点旧的实现。看一下名为artemis-odb的fork,它在性能上更高,并且主动developedComponentType也被重构。

关于java - Artemis ECS中位数据背后的目的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25465353/

10-10 20:07