Is there another way to do this with less code? AS3-CS3
Each tile in my game is a MovieClip with multiple frames for different states.
//Psedocode of what I would want... A single function for generating all tile mc types.
addTile (3, 10, 10, 'wheat');
function addTile(num, cellX, cellY, type) {
var newTile:[type] = new [type](); //Instead of having so many functions, is something like this possible?
newTile.name = 'tile' + num;
newTile.id = num;
newTile.x = cellX;
newTile.y = cellY;
farm.addChild(newTile);
}
//My current code
//If else block that stretches for ages... *I cut out like 6 else if's.*
if (tileType == 0) {
addGrass(i, cellX, cellY);
} else if (tileType == 3) {
addPlowed(i, cellX, cellY);
} else if (tileType == 5) {
addWheat(i, cellX, cellY);
}
function addGrass(num, cellX, cellY) {
var newTile:grass = new grass();
var stopFrame = Math.round(Math.random() * 11 +1);
newTile.name = 'tile' + num;
newTile.id = num;
newTile.x = cellX;
newTile.y = cellY;
newTile.gotoAndStop(stopFrame);
farm.addChild(newTile);
}
function addPlowed(num, cellX, cellY) {
var newTile:plowed = new plowed();
newTile.name = 'tile' + num;
newTile.id = num;
newTile.x = cellX;
newTile.y = cellY;
farm.addChild(newTile);
}
function addWheat(num, cellX, cellY) {
var newTile:wheat = new wheat();
newTile.name = 'tile' + num;
newTile.id = num;
newTile.x = cellX;
newTile.y = cellY;
farm.addChild(newTile);
}
Btw, whats the bullitin board code for actionscript [as:code]?