0

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

4

1 に答える 1

1

https://gamedev.stackexchange.com/で尋ねるともっとうまくいくかもしれませんが、私はいくつかのアイデアを提供しようとします:

Tileそのタイル上のエンティティのコレクションを含むクラスを作成する必要があります。さらに、エンティティは、配置されているタイルへの参照を保持する場合があります。

マップの表現に関しては、マップがどのように表現されるかによって異なります。固定サイズのマップがある場合は、2D 配列を使用できます (配列には、現在必要でない場合は null になる可能性のあるタイルへのリンクのみが含まれます)。それ以外の場合は、インデックスがタイルの位置になるマップを使用できます。次に、表示する必要があるタイルのマップをクエリします。

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

于 2012-01-15T12:09:34.263 に答える