0

ポケモンのような 2D タイル ゲームを作成しているので、マップを作成するためのマップ エディターを作成しています。
ゲームは Web 上にあるため、マップ エディターは Web である必要があります。
マップをメモリに保存する方法がわかりません
。2 次元配列を使用できると思っていましたが、マップが非常に大きくなり、大量のメモリ使用量/メモリ不足の問題が発生する可能性があります。
ブラウザのメモリをすべて使用せずに、マップ全体をメモリに効率的に保存するにはどうすればよいですか?

4

3 に答える 3

1

標準では、マップ全体をメモリにロードするのではなく、現在のビューポートのみ、またはboundsマッピングの世界で参照されているようです。

マップのパン、スクロール、またはズームの境界を確認し、対応するタイルをフェッチします。

于 2013-04-25T15:35:18.270 に答える
0

マップの格納は、メモリ内で大きすぎないようにする必要があります。json にデータを格納する特別なマップ ファイルを作成できます。

echo json_encode(array(array(4, 2, 6, 4), array(4, 2, 6, 4), array(4, 2, 6, 4), array(4, 2, 6, 4)));
// do some loading of the generated file
var map = <...>, i, j; // loaded data

for(i in map) {
  if(map.hasOwnProperty(map[i]))
  // etc
}

配列内の数値は、たとえば ID を指していますが、これは小さく保つためです。代わりにタイル名を入れることもできます。

于 2013-04-25T15:35:04.023 に答える