自分のゲームに一種のユニバーサル ゲーム要素クラスを設定する最善の方法を見つけようとしています。作ってみたいのも似たような構造です..
GameElementPositionMovement (ルート クラス) ->GameElementVisual (すべてのグラフィックスを処理) ->GameElementPersonality (ゲーム ロジックを処理)
次に、GameElementPersonality のインスタンスを作成するだけで、さまざまなパーソナリティ (モンスター、ヒーロー、アイコンなど) を設定できるようにしたいと考えていますが、そのコンストラクターでは、ビジュアルおよび配置/移動の側面も設定できます。
別の質問でこれについて言及しましたが、返された答えは...
ロジックとビジュアル(「ビュー」)クラスを保存するには、一種の「データモデル」クラスが必要なようです。ビジュアル クラスはデータ モデルから継承するべきではなく、それを使用する必要があります。これは OOP 関連の問題です: IS と HAS (継承と合成)
しかし、それを理解しているかどうかはわかりません。視覚データのない位置/動きは、適切な最初のルート クラスのようです。次に、視覚的な側面 (GameElementVisual) を追加し、最後に、鎧、ダメージ、健康などのパーソナリティの「特性」 (GameElementPersonality) を追加します。
したがって、私はポジショニング/移動、ビジュアルとロジックを分離したままにしており、私がレイアウトした階層がそれを行うための最良の方法であると推測しましたが、これはこれを行うための良い方法ではありませんか? もっとフラットにすべき?GameElementPositionMovement を使用して、ビジュアル インスタンスとロジック インスタンスの両方を作成し、それ自体を格納しますか?