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本身那樣進行批