だから私はついにXNAで遊んで、2Dゲームを作ることをいじっていました(iOSで開発した友人からたくさんのアート資産があります)
多くのことは簡単に実行できるように見えますが、ほとんどの文学(たとえば、私が買った本)は2Dにあまり注意を払っていないので、私はたくさんのものに困惑しています。
私は、以下の質問についての明確化またはより多くの情報を指摘されていることを本当に感謝します:
ゲームサービスのポイントは何ですか?他のGameComponentがオブジェクトを取得できるようにオブジェクトをサービスとして登録するイディオム全体を理解していますが、これを単純に公開または静的にするだけではどうでしょうか?たとえば、私の本では、Game.csクラスにSpriteBatchオブジェクトを登録することを推奨しています。とにかくGameのインスタンスは1つだけ(シングルトン)でなければならないので、これを単純にパブリック/静的にするのがどのように好ましいのかわかりません。
GameComponentまたはRenderableGameComponentから継承する必要がある場合、私は混乱しています。私はすべてのエンティティが単一のマネージャーによって作成/所有され、他の事柄についても同じになるように、マネージャー/コントローラーの設計に従うことを試みています。現在、各Manager / ControllerにGameComponentを継承させていますが、GameオブジェクトがすべてのManagerを所有し、それらの更新を手動で呼び出して描画することで、これをどのように解決できますか?
ContentLoad()の前に Initializeが呼び出されることに気付きました。Initializeでエンティティ(スプライト、プレーヤーなど)の一部を作成したいので、この迷惑を見つけましたが、それらをロードすることはできません。読み込むための呼び出しがまだ行われていないため、SpriteSheetsまたはTextures。私はおそらく間違って初期化していますか、または人々はContentLoadのさらに下のテクスチャを割り当てるだけですか?
それらは本当に理解していないという私の最大の「WTF」のようです