пробовал двумя способами
Код
import flash.display.MovieClip;
import flash.display.DisplayObject;
import flash.events.MouseEvent;
import flash.ui.Keyboard;
var dist:Number = 0;
var Balls:Array = new Array();
var speed:Number = 10;
var angle:Number;
var dx:Number;
var dy:Number;
var fire:MovieClip;
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyboardF);
stage.addEventListener(MouseEvent.MOUSE_DOWN, mouse);
stage.addEventListener(Event.ENTER_FRAME, moveBall);
fire= new MovieClip();
fire.x = 0;
fire.y = 0;
function mouse(e:MouseEvent):void
{
var Ball:ball = new ball();
var angle:Number = Math.atan2(mouseY - mc.y,mouseX - mc.x);
this.dx = speed * Math.cos(angle);
this.dy = speed * Math.sin(angle);
addChild(fire);
fire.addChild(Ball);
Ball.x = mc.x;
Ball.y = mc.y;
trace(angle);
trace(dx, dy);
}
function keyboardF(e:KeyboardEvent):void
{//тип String. Пояснение ниже
if (e.keyCode == Keyboard.A)
{
var Ball:ball = new ball();
addChild(fire);
fire.addChild(Ball);
Ball.x = mc.x;
Ball.y = mc.y;
}
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 i=0; i<fire.numChildren; i++)
{
var Ball:DisplayObject = fire.getChildAt(i);
Ball.x += dx;
Ball.y += dy;
if (Ball.y < dy,Ball.x < dx)
{
fire.removeChildAt(i);
trace("Шарик удален");
}
}
}
import flash.display.DisplayObject;
import flash.events.MouseEvent;
import flash.ui.Keyboard;
var dist:Number = 0;
var Balls:Array = new Array();
var speed:Number = 10;
var angle:Number;
var dx:Number;
var dy:Number;
var fire:MovieClip;
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyboardF);
stage.addEventListener(MouseEvent.MOUSE_DOWN, mouse);
stage.addEventListener(Event.ENTER_FRAME, moveBall);
fire= new MovieClip();
fire.x = 0;
fire.y = 0;
function mouse(e:MouseEvent):void
{
var Ball:ball = new ball();
var angle:Number = Math.atan2(mouseY - mc.y,mouseX - mc.x);
this.dx = speed * Math.cos(angle);
this.dy = speed * Math.sin(angle);
addChild(fire);
fire.addChild(Ball);
Ball.x = mc.x;
Ball.y = mc.y;
trace(angle);
trace(dx, dy);
}
function keyboardF(e:KeyboardEvent):void
{//тип String. Пояснение ниже
if (e.keyCode == Keyboard.A)
{
var Ball:ball = new ball();
addChild(fire);
fire.addChild(Ball);
Ball.x = mc.x;
Ball.y = mc.y;
}
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 i=0; i<fire.numChildren; i++)
{
var Ball:DisplayObject = fire.getChildAt(i);
Ball.x += dx;
Ball.y += dy;
if (Ball.y < dy,Ball.x < dx)
{
fire.removeChildAt(i);
trace("Шарик удален");
}
}
}
Код
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("Шарик удален");
}
}
}
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("Шарик удален");
}
}
}
но проблема остается... помогите решить