私は Cocos2D-x でゲームを書いていますが、オブジェクト指向がずさんな感じで苦労しています。私はその気持ちを揺るがすことができず、その理由に指を置くことができます.
ゲームシーンクラス
- これでレイヤーが作成されます
レイヤ クラス
- 自分自身を創造する責任
- 必要に応じて HUDS も呼び出す
- レイヤー上のオブジェクトの std::vector を含みます
オブジェクト クラス
- 自分自身のすべてを保持する
- レイヤー上にスプライトメンバー変数がある
HUD1
- ユーザーがレイヤーをタップし、タッチがオブジェクトでも発生したときに呼び出されます
- オブジェクトに対してできることのメニューです
- メニュー項目をクリックすると、オブジェクトの値を変更する必要があります
- メニュー項目をクリックすると、実際にはオブジェクト内のコードが実行されます (object::doSomething())
私が思うにずさんな感じは、これらのクラスに多くの依存関係があることです。
これを抽象化し、オブジェクト、レイヤー、HUD などのコードの代わりに、このすべてを制御するクラスを作成する必要があると思います。
これがどのようにレイアウトされているか、そして私がオブジェクト指向の間違いを犯しているかどうかについて誰かが私に話すことができますか?