2Dタイルマップを保存する方法


7

ボクセルのように見える小さなタイルで構成された2Dマップを作成したい(たとえば、これを横から見たところ)。

Voxel2Dのような、int X、Y、およびいくつかのColorを持つ構造を作成できます。すべてのVoxel2Dは5x5ピクセルになります(描画するときはXとYを5倍します)。

しかし、どうすればマップ全体を保存できますか?古典的なタイルマップのような2D配列で、またはより速い方法はありますか?


6
2Dのボクセル?..ピクセルと呼ばれます。
Nevermind

はい、わかっていますが、達成したいグラフィックスタイルを説明したいと思います。そのビデオを見ると(ボクセルから構築されているといいのですが)、1x1x1ピクセルではありませんが、少し大きくなっています。
davidv

1
ピクセルより大きい2Dブロックはタイルと呼ばれます。
aaaaaaaaaaaa

彼は高さのある2Dアイソメトリックビューを意味していると思います(Snake Rattle n RollMarble Madnessなど
BlueRaja-Danny Pflughoeft

回答:


3

2Dの場合はボクセルとは呼ばず、単にタイルベースです。アレイストレージはあなたが探しているものでなければなりません。

編集:私が読んだ以上にあなたの質問があるかどうか疑問に思わずにはいられません。そして、あなたがあなたのアイデアを説明するために3Dゲームを選ぶ理由が本当にわかりません。あなたが正しい方向に取り組んでいることを確認したいだけですか、それとも実装方法がわからないものがありますか?


eBusinessが言うように、配列が最善の策ですが、マップを小さなチャンク(たとえば、画面ごとに1つのチャンク)に分割することを検討し、その領域を画面に描画する必要がある場合にのみ各チャンクをロードすることをお勧めします。これは、大きなマップとタイルごとの属性のロードを処理するときに、よりメモリフレンドリーです。
ゴースト

0

また、1つではなく2つの配列を使用することもできます。1つは「タイル」を含むマップ配列で、もう1つは事前定義されたピクソル(5x5以下)を含むタイル配列です。必要に応じて、このピクソールを変更できますが、新しいピクソルを作成する必要があります。事前定義されたものではなく、タイル配列。

これの良い点は、変更されていないものは、分割されるまで画像タイルとして事前定義できることです。

ただし、最悪の場合のシナリオは、ピクソールでいっぱいの配列が1つしかない場合と同じです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.