プロジェクト用に Flash で 2D プラットフォーマーを作成していますが、すべて順調に進んでいます。割り当てで 2 つのレベルを使用するように指示されていることに気付くまでは、簡単に航海できました。レベルを実行した唯一の方法は、このプロジェクトで配列を使用している間、レベルをクラスとして追加することです。
URLLoader を使用して .txt ファイルのレベルをプロップし始めましたが、それでも私が従ってきたサンプル コードは、2 つ以上ではなく、1 つのレベルに対してのみこれを行う方法を示しています。
マップに使用しているコードは次のとおりです。これで十分でない場合は、さらに追加できます。
public function init()
{
trace("init");
map = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0],
[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0],
[0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 2, 2, 2, 0, 0, 0, 0],
[0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 2, 2, 2, 0, 0, 0, 0],
[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0],
[0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0],
[0, 1, 1, 1, 0, 2, 2, 0, 1, 1, 1, 1, 0, 2, 2, 0, 1, 1, 1, 0],
[0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0],
[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0],
[0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0]]
container = new Sprite();
addChild(container);
tileArray = [Tile0, Tile1, Tile2];
buildMap();
createPlayer();
createWinSpace();
ArrowKeyInput.init(stage);
addEventListener(Event.ENTER_FRAME, update);
}
private function buildMap():void
{
trace("BUILD");
tileMap = [];
for (var i:int = 0; i < map.length; i++)
{
var row:Array = map[i];
var tileRow:Array = [];
tileMap.push(tileRow);
for (var j:int = 0; j < row.length; j++)
{
var tileNum:int = row[j];
var className:Class = tileArray[tileNum];
var tile:MovieClip = new className();
tile.width = tile.height = TILE_SIZE;
tile.x = TILE_SIZE * j;
tile.y = TILE_SIZE * i;
container.addChild(tile);
tileRow.push(tile);
}
}
}
これに関して得られるあらゆる種類のフィードバックに感謝します。