2012-01-06 6 views
0

初めてフルスケールゲームを作成しようとしています.3Dモデルと2次元テクスチャ(OpenGL)をどのように保存するのか、ゲーム作成経験のある方に教えてください。私はいくつかの例を見てきました。静的なクラスが使用され、テクスチャとロードされたすべてのデータを格納し、他のクラスはそのクラスからテクスチャを取得します。他の例で私は人々がそれを使用するクラスに静的なテクスチャを格納するのを見てきました。私はこれを行うためのベストプラクティスは何か分かりません。私はObjective-Cにゲームを移植し、それをOpenGLを使っているアプリケーションストアに置くことになります。エンティティデータを管理する方法

答えて

3

ゲームを画面とアセットバンドルに分割します。 AssetBundleには、モデル、テクスチャ、オーディオなどを読み込むことができる参照リストがあります。各Screenには、AssetBundle(またはそれらのリスト)があり、描画を進めるために画面に読み込まなければなりません。

私は自分のリソースをAssetBundleに分割します。これは、タイトル画面(たとえば)に必要なだけのゲームプレイに必要ないテクスチャやサウンドがあることがあるためです。

たとえば、スクリーンはTitleScreen、MenuScreen、GameScreen(メインゲーム)です。画面がレイヤーになることがあります。

魔法はScreenManagerクラス内で発生し、スクリーンを追加/削除でき、各スクリーンはマネージャに追加された順序で描画されます。画面がマネージャに追加されると、まだロードされていないAssetBundleがロードされます。画面が削除された場合、Managerの既存の画面にその画面がない場合、その画面のAssetBundleが削除されます。

どうすればいいですか?

+0

これはかなり良い考えのようです。私はすでに 'Screen'スーパークラスと類似の形式のorginizationを持っていますので、これを実装するのに時間がかかりません。 –

関連する問題