проблема так и не решена((
пробовал сделать еще таким методом

Код AS3:
var dist:Number = 0;
var mc_speedXFROM: Array=new Array();
var mc_speedYFROM: Array=new Array();
var mc_angle;
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyboardF);
stage.addEventListener(MouseEvent.MOUSE_DOWN, mouse);
stage.addEventListener(Event.ENTER_FRAME, moveBall);
function mouse(e:MouseEvent):void
{
for (var i=0; i<fire.numChildren; i++)
{
mc_angle = Math.atan2(mouseY - mc.y,mouseX - mc.x);
mc_speedXFROM[i] = Math.cos(mc_angle);
mc_speedYFROM[i] = Math.sin(mc_angle);
trace(i);
}
var Ball:ball = new ball();
Ball.x = mc.x;
Ball.y = mc.y;
fire.addChildAt(Ball,0);
}
function keyboardF(e:KeyboardEvent):void
{
if (e.keyCode == Keyboard.DOWN)
{
mc.y += 4;
}
else if (e.keyCode == Keyboard.UP)
{
mc.y -= 4;
}
if (e.keyCode == Keyboard.RIGHT)
{
mc.x += 4;
}
else if (e.keyCode == Keyboard.LEFT)
{
mc.x -= 4;
}
}
function moveBall(e:Event):void
{
for (var s=0; s<fire.numChildren; s++)
{
var Ball:DisplayObject = fire.getChildAt(s);
Ball.x += mc_speedXFROM[s] * 5;
Ball.y += mc_speedYFROM[s] * 5;
if (Ball.y < 0)
{
fire.removeChildAt(s);
trace("Шарик удален");
}
}
}
но проблема все та же остается(( помогите разобраться что не правильно