У меня есть класс Enemy (который содержит все клипы, которые являются врагами), класс Level (который отображает макет уровней в массиве) и мой основной класс документа (который создает макет уровни в плитки). Моя цель состоит в том, чтобы иметь разных врагов для каждого уровня.Добавление врагов из массива
Enemy Класс: Класс
private var enemy1:Enemy1 = new Enemy1();
private var enemy2:Enemy2 = new Enemy2();
public var enemyArray:Array = new Array(enemy1, enemy2);
Уровень:
var enemies:Enemy = new Enemy();
levelStageNumber = 1;
if (levelStageNumber == 1) { floor1F(); Main.floor = floor1; }
private function floor1F():void
{
floor1 = new Array();
floor1[0] = [1,1,1,1,1,1,1];
floor1[1] = [1,1,1,1,1,1,1];
floor1[2] = [1,1,1,2,1,1,1];
floor1[3] = [2,1,1,2,1,1,2];
floor1[4] = [1,1,1,2,1,1,1];
floor1[5] = [1,1,1,1,1,1,1];
floor1[6] = [1,1,1,1,1,1,1];
addChild(enemy2.enemyArray[0]);
}
Главный класс:
public static var floor:Array = []; //for the main class to talk to the level class
private var level:Level = new Level();
addChild(level);
for (var Y:int=0; Y<floor.length; Y++)
{
for (var X:int=0; X<floor[Y].length; X++)
{
var cell:MovieClip = new Tile(X,Y);
cell.gotoAndStop(floor[Y][X]);
cell.x = ((X-Y)*level.tileh)+365;
cell.y = ((X+Y)*level.tileh/2)+70;
addChild(cell);
}
}
Может быть, я буду о всей этой установке неправильный путь, но я чувствую, есть более простой способ выполнить то, что я делаю. Поэтому у меня есть 2 проблемы. Во-первых, как я могу добавить двух врагов из врага? Во-вторых, враг сейчас появляется под плиткой, вероятно, потому, что главный класс - тот, который создает плитки. Можно ли каким-то образом заставить врагов добавить в основной класс?
Спасибо! Что делать, если я хотел добавить два одинаковых индекса, таких как enemyArray [0] дважды? Как мне это сделать? – Bindlestick
Это еще один вопрос. Лучше иметь 1 вопрос на вопрос, поскольку он делает сайт более полезным. Ответы не должны быть скрыты в комментариях. Я скажу, что ваш новый вопрос предполагает, что вам нужно сделать шаг назад и узнать о массивах и DisplayObjects/DisplayList, поэтому вы не угадываете. – prototypical