Действия происходят только с последнего спрайта.
Тоесть в моем случае я на сцену ставлю башни и стреляет только с последней башни, вот код:

Код AS3:
private function thisClick(e:MouseEvent):void {
var xv:int = (e.target as Sprite).x;
var yv:int = (e.target as Sprite).y;
makeTurret(xv, yv);
(e.target as Sprite).removeEventListener(MouseEvent.CLICK, thisClick);
}
private function makeTurret(xValue:int,yValue:int):void{
var turret = new Sprite();
turret.x = xValue + 12.5;
turret.y = yValue + 12.5;
turret.graphics.beginFill(0x999999);
turret.graphics.drawCircle(0,0,12.5);
turret.graphics.endFill();
turret.graphics.beginFill(0xFFFFFF);
turret.graphics.drawRect(-2.5, 0, 5, 20);
turret.graphics.endFill();
addChild(turret);
turret.addEventListener(Event.ENTER_FRAME, eFrameEvents);
}
private function eFrameEvents(e:Event):void {
var turret:Sprite = Sprite(e.target);
var distance:Number = range;
enTarget = null;
for(var i:int=enemyHolder.numChildren-1;i>=0;i--){
var cEnemy =enemyHolder.getChildAt(i);
if (Math.sqrt(Math.pow(cEnemy.y - turret.y, 2) + Math.pow(cEnemy.x - turret.x, 2)) < 100) {
enTarget = cEnemy;
}
}
if(enTarget != null){
turret.rotation = Math.atan2((enTarget.y-turret.y), enTarget.x-turret.x)/Math.PI*180 - 90;
if(loaded2){
loaded2 = false;
var newBullet = new Sprite();
newBullet.graphics.beginFill(0xFFFFFF);
newBullet.graphics.drawCircle(0,0,2);
newBullet.graphics.endFill();
newBullet.x = turret.x;//<--получается выстрел берет
newBullet.y = turret.y;//<--координаты с последней башни
newBullet.addEventListener(Event.ENTER_FRAME,eFrame);
addChild(newBullet);
}
}
if(!loaded2){
cTime2 ++;
if(cTime2 == reloadTime2){
loaded2 = true;
cTime2 = 0;
}
}
}
private function eFrame(e:Event):void {
var newBullet2:Sprite = Sprite(e.target);
if (enTarget == null ) {
if(newBullet2.parent){
newBullet2.parent.removeChild(newBullet2); }
newBullet2.removeEventListener(Event.ENTER_FRAME, eFrame);
}else{
var yDist:Number=enTarget.y+12.5 - newBullet2.y;
var xDist:Number=enTarget.x+12.5 - newBullet2.x;
var angle:Number=Math.atan2(yDist,xDist);
ySpeedBul=Math.sin(angle) * maxSpeedBul;
xSpeedBul=Math.cos(angle) * maxSpeedBul;
newBullet2.x+= xSpeedBul;
newBullet2.y+= ySpeedBul;
if(newBullet2.hitTestObject(enTarget)){
enTarget.health -= damage;
if(newBullet2.parent){
newBullet2.parent.removeChild(newBullet2);
}
newBullet2.removeEventListener(Event.ENTER_FRAME, eFrame);
}
}
}
Тоесть ставлю две башни и все выстрелы идут со второй башни :\
Предпологаю что нужен под каждую башню определенный спрайт, от которого из них будут идти выстрелы,пока-что не могу понять как... Нужна ваша помощь
Добавлено через 28 часов 37 минут
Все еще нужно решение :\