Здравствуйте.
Создавая игру, столкнулся со следующей проблемой. Отбросив всё лишнее, получается такой код:

Код:
enemyCounter = 0;
enbulCounter = 0;
function enbulMove() {
enbulCounter++;
_root.attachMovie("enbul", "enbul"+enbulCounter, _root.getNextHighestDepth(), {_x:_root["enemysmall"+enemyCounter]._x, _y:_root["enemysmall"+enemyCounter]._y+40});
_root["enbul"+enbulCounter].onEnterFrame = function() {
this._y+=5;
}
}
function enemyAppear() {
enemyCounter++;
// начальная позиция врага
var x1 = Math.round(220*Math.random())+210;
var y1 = Math.round(150*Math.random())+20;
var flagpos = 2*Math.round(Math.random())-1;
// аттачим врага
_root.attachMovie("enemysmall", "enemysmall"+enemyCounter, _root.getNextHighestDepth(), {_x:x1, _y:y1});
setInterval(enbulMove, 800);
// движение врага
_root["enemysmall"+enemyCounter].onEnterFrame = function() {
this._x += flagpos;
if (this._x>600) {
flagpos = -flagpos;
}
if (this._x<40) {
flagpos = -flagpos;
}
};
}
setInterval(enemyAppear, 2000);
Кроме кода, есть ещё 2 клипа в библиотеке: enemysmall и enbul.
C интервалом 2 секунды на сцену аттачатся и начинают двигаться враги. В то же время с интервалом 0,8 секунды к этим врагам аттачатся пули, двигающиеся вниз. Так вот, проблема в том, что с появлением нового врага предыдущий перестаёт стрелять, пули аттачатся только к новому. А надо, чтобы каждый враг стрелял своими пулями со своим интервалом, независимо от других врагов.
Подозреваю, что нужно как-то перебирать enemyCounter в координатах пули. Но вот как именно - не могу додуматься. А может быть в чём-то другом загвоздка. Помогите, пожалуйста, разобраться.