Game Development Reference
In-Depth Information
levelBackGroundTile = levelData.backGroundTile;
levelTimerStartSeconds = levelData.timerStartSeconds;
levelHeartScore = levelData.heartScore;
levelPlayerStartFacing = levelData.playerStartFacing;
levelSkullAdjust = levelData.skullAdjust;
levelWallAdjust =levelData.wallAdjust;
levelClockAdd = levelData.clockAdd;
levelPercentNeeded = levelData.percentNeeded;
levelWallDriveColor = levelData.wallDriveColor;
for (var rowCtr:int=0;rowCtr<worldRows;rowCtr++) {
var tempArray:Array=new Array();
for (var colCtr:int = 0; colCtr < worldCols; colCtr++) {
tileNum = levelData.map[rowCtr][colCtr];
if (int(tileSheetData[tileNum]) == TILE_WALL ||
int(tileSheetData[tileNum]) == TILE_MOVE ) {
numberToPush = tileNum;
}else {
switch(tileSheetData[tileNum]) {
case SPRITE_PLAYER:
numberToPush = levelBackGroundTile;
player.worldX = (colCtr * mapTileWidth) + (.5*mapTileWidth);
player.worldY = (rowCtr * mapTileHeight) + (.5 * mapTileHeight);
break;
case SPRITE_HEART:
numberToPush = tileNum;
heartsTotal++;
break;
case SPRITE_SKULL:
numberToPush = tileNum;
break;
case SPRITE_GOAL:
numberToPush = tileNum;
break;
case SPRITE_CLOCK:
numberToPush = tileNum;
break;
}
}
tempArray.push(numberToPush);
}
world.push(tempArray);
}
heartsNeeded = int(heartsTotal * levelPrecentNeeded);
}
Here is a detailed description of the main points of this function:
1.
First, we reset of the world array and initialize local variables for the loop through the
tiles. The tileNum will hold the current tile number from the tile sheet that corresponds
Search WWH ::




Custom Search