2012-01-15 4 views
0

私は2dアイソメのゲームの開発を始めています。私は、タイルやエンティティのようなランタイムデータを格納するために使用するデータ構造のブレインストーミングを行っていますが、 2次元配列を使用したい(世界が巨大なので)。どのように私はこのような場合レンダリングを処理するだろうか?アイソメトリックゲームのデータ構造とレンダリング

+1

この質問は多すぎますが、ゲーム開発者フォーラム(http://gamedev.stackexchange.com/)でこの質問をしたいと思うかもしれません。 – Thomas

答えて

1

あなたはhttps://gamedev.stackexchange.com/に尋ねるより多くの成功を持っているかもしれませんが、私はいくつかのアイデアを試してみて、提供します:

あなたはTileクラスがそのタイル上のエンティティのコレクションが含まれる可能性があります作成する必要があります。さらに、エンティティは、そのタイルが置かれているタイルへの参照を保持することがあります。

マップの表現は、マップの表現方法によって異なります。固定サイズのマップを使用している場合は、2D配列を使用することができます(配列には、現在必要でない場合はnullになるタイルへのリンクのみが含まれます)。そうでなければ、インデックスがタイルの位置になるマップを使用できます。次に、表示する必要があるタイルをマップに照会します。

さらに、表示された領域を囲むいくつかのタイルをキャッシュして読み込むこともできます。タイルがキャッシュされた領域の外側にあり、メモリが必要な場合、タイルはマップから削除される可能性があります。