次のゲームは自分のシンプルなエンジンを使って作ることにしました。オブジェクト レンダリングや物理演算などのコードを既にいくつか書いていますが、今はそれらを簡単に接続する方法を考えています。
私は1つのマスターオブジェクトで階層構造を作りたいと思っています.SpritesまたはInteractiveObjectsとして親を持つSceneと呼びましょう。すべてのSpriteまたはInteractiveObjectは、独自の子を持つ独自の子を持つことができます..あなたはすでにここで私のポイントを得たと思います: )
すべてのオブジェクト タイプが何らかのベース オブジェクトから継承されると仮定しましょう。たとえば、それを Node と呼びましょう。ノードがサイズ、位置などを持つ「実際の」オブジェクトになるのか、それともゲーム内のすべてのオブジェクトの抽象ラッパーのみになるのかはまだわかりません (実際にはオプション 2 を使用する傾向があります)。
そして最後に。私の目標は、実際のシーンのオブジェクトを取得し、Scene->Move(x,y) のようなものを呼び出して、Scene (または Sprite、InteractiveObject など) のすべての子を移動することです。または Scene->Render() で、すべての (レンダリング可能な) 子をレンダリングします。スプライトを作成する場合、Sprite->addChild() のように子を追加したいと思います。子は、別のスプライト、InteractiveObject、または単純なノードにすることができます。
そして今、私の質問です。C ++で実装する最良の方法は何ですか? それとも私は完全に間違っていて、この構造はばかげていますか? :)