프로젝트 용으로 Flash에서 2D 플랫폼을 만들고 있습니다. 모든 것이 순조롭게 진행됩니다! 과제가 2 레벨을 사용한다고 알기 전까지는 항해가 쉬웠습니다. 레벨을 완료 한 유일한 방법은이 프로젝트가 배열을 사용하는 동안 클래스로 추가하는 것입니다.AS3에서 2D 플랫폼의 새로운 레벨을 생성하는 문제
URLLoader를 사용하여 .txt 파일의 레벨을 플롭하기 시작했지만, 다음 예제 코드에서는 2+가 아닌 한 레벨에서만이를 수행하는 방법을 보여줍니다. 이 충분하지 않은 경우
여기에 내가지도를 위해 사용하고 코드입니다, 좀 더를 제공 할 수 있습니다 :
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);
}
}
}
나는 이것에 얻을 수있는 피드백의 모든 종류를 주셔서 감사합니다.
그래서 두 개 이상의 레벨을로드해야합니까? 다른 데이터로드/맵 다시 작성/모든 항목 다시 만들기/저장할 내용 (수준 번호, 변경된 통계, 점수) 저장. – alxx
한 수준에서 다음 수준으로 형식에 차이가 없어야합니다. 각 레벨에 대한 맵 배열을 만들고 어느 레벨에 있는지, 점수에 대한 수정 기호 (있는 경우) 등을 추적하는 것도 가능합니다.하지만 레벨 변경을 허용하도록 설정해야합니다. 승리 조건은 모든 레벨에서 승리해야합니다. 레벨을 완료하는 간단한 점검은 마지막 레벨이 아닌지,로드 및 다음 레벨로 이동합니다. – Gone3d