優先順位#1は、画面外にあるもののグラフィックオブジェクトを作成しないことです。ゲームプレイの目的ですべてのデータとすべてを作成しますが、すべてのタイルをグラフィカルオブジェクトに関連付けないでください。特定の瞬間に画面に表示されているものを表すのに十分なグラフィカルオブジェクトのみを作成し、それらを最初に画面に表示されているものに関連付けます。次に、プレーヤーが移動したら、それらのグラフィカルオブジェクトが関連付けられているゲームプレイタイルを変更するだけです。これにより、メモリが不足したり、そのような他のことを非常に迅速に実行したりするのを防ぐことができます。
ゲームプレイマップが論理的にタイルに分割されていることを示唆しているようです。その場合、次のようなことができます。
var x:int = 0;
var y:int = 0;
for (var i:int = firstColumnInFocus; i < firstColumnInFocus + widthRange - 1; i++)
{
for (var j:int = firstRowInFocus; j < firstRowInFocus + heightRange - 1; j++)
{
tileGraphics[x][y].tile = level.tiles[i][j];
y++;
}
x++;
}
実際のゲームプレイデータ構造などの論理タイルを作成する限り、必要なものをすべて含むタイルまたはスペースオブジェクトの2D配列を作成し、配列内の要素の位置が地理的な位置を表していることを確認してください。
これがあなたが話していることであるかどうかは完全にはわかりません。ある意味では、タイルのコレクションとしてすでに設計されているレベルについて話しているように聞こえます。また、ある意味では、単一のスプライトを取得し、タイルを使用してどれだけの量を概算するかについて話しているように聞こえます。画面に表示されているはずです。個人的には、多かれ少なかれ両方のいずれかを実行しているように聞こえますが、戦略は実際に何が起こっているかにある程度依存するはずです。