通常、物理学またはグラフィックスコンポーネントは、コンポーネント指向システムでどのように構築されますか?
私は最後の48時間をオブジェクトコンポーネントシステムに目を通し、それを実装する準備が十分に整ったと感じています。基本のObjectクラスとComponentクラスを作成しましたが、実際のコンポーネントの作成を開始する必要があるため、少し混乱しています。HealthComponentまたは基本的に単なるプロパティのようなものでそれらを考えるとき、それは完全に理にかなっています。物理/グラフィックコンポーネントとしてより一般的なものである場合、少し混乱します。 これまでのところ、私のオブジェクトクラスは次のようになっています(変更が必要な場合は、まだ新しいことをお知らせください)。 typedef unsigned int ID; class GameObject { public: GameObject(ID id, Ogre::String name = ""); ~GameObject(); ID &getID(); Ogre::String &getName(); virtual void update() = 0; // Component Functions void addComponent(Component *component); void removeComponent(Ogre::String familyName); template<typename T> T* getComponent(Ogre::String familyName) { return dynamic_cast<T*>(m_components[familyName]); } protected: // Properties ID m_ID; Ogre::String …