entity-system

    1热度

    2回答

    我正在为实体系统添加物理,并对ECS的系统部分感到困惑。 例如,在非ECS项目我可能有这样的事情: function updatePhysics() foreach(thisRobot in robots) thisRobot.move() foreach(otherRobot in robots) if(response = thisRobot.i

    0热度

    2回答

    我是Artemis实体系统框架的新手,我想知道是否有办法获得所有具有特定组件或组件的实体? (应该有,但我找不到) 例如,我想查找所有拥有EnemyComponent的实体,并检查它们是否与其中有BulletComponent的任何实体相冲突。我怎样才能做到这一点?

    2热度

    3回答

    我在写游戏,它将使用基于组件的实体系统。我正在实现的前两个组件是EntityRepresentation和EntityState。该表示包含动画,状态决定实体如何对游戏事件做出反应(EntityStates的例子:站立,跳跃,攻击,死亡,坠落)。 EntityRepresnetation根据Entity的EntityState决定在屏幕上绘制哪些动画。如果实体处于“跳跃”状态,则将播放相应的动画。

    0热度

    2回答

    我正在实施组件创建的工厂模式,并且希望为工厂创建的每种类型的所有实例实现一个单身容器。理想情况下,这将是工厂中创建的每种类型的一个向量。 如果我可以在向量中保留基类指针,但是很抱歉,我的用例会大大优先选择所有实例连续存储,而不是在新的位置放置它们以获取尽可能多的缓存命中。 我考虑做这样的事情了工厂地图: Map<string,pair<constructorFnPtr, vector<baseCl

    0热度

    2回答

    我在过去的几天里学到了很多关于Erlang的知识,并且熟悉组件实体系统。 随着Erlang的以流程为中心的方法,我建议每个实体都是一个Erlang流程实例。至于CES(组件实体系统)方法,对于拥有运动组件(例如)的实体,我将拥有一个类似于“运动系统”的过程。然后,我会对所有已注册的实体进行尾递归“遍历”,并向它们发送消息,让它们更新自己的进程状态,而不是像MovementSystem本身那样进行批