не делайте так. вы не в курсе, что это такое и как называется, поэтому просто не делайте так.

Код AS3:
function ...():void
{
function ...():void
{
}
}
Правильно:

Код AS3:
import flash.events.MouseEvent;
import flash.display.MovieClip;
import flash.display.Sprite;
var speed:Number = 10;// скорость пули = 10
var depth:Number = 0;// глубина = 0
var nose:int = 50;// нос корабля
var xmov:Number;
var ymov:Number;
var bullets:Array = [];
stage.addEventListener(MouseEvent.MOUSE_MOVE , moveShip);
stage.addEventListener(MouseEvent.CLICK, fire);
stage.addEventListener(Event.ENTER_FRAME, update);
function moveShip(e:MouseEvent):void
{
var xDiff = mouseX - ship.x;// находим
var yDiff = mouseY - ship.y;// координаты
var angle = Math.atan2(yDiff,xDiff);
angle = angle * 180 / Math.PI;// переводим в градусы
ship.rotation = angle;// поворачиваем
}
function fire(e:MouseEvent):void
{
var angle = ship.rotation * Math.PI / 180;;
var bull:MovieClip = new bul();
addChild(bull);
bullets.push(bull);
bull.angle = angle;//ну можно и ymov/xmov записать, так просто короче, а производительность это сейчас не посадит.
bull.x = ship.x + nose * Math.cos(angle);
bull.y = ship.y + nose * Math.sin(angle);
}
function update(e:Event = null):void
{
for(var i:int = 0; i < bullets.length; i ++)
{
bullets[i].x += Math.cos(bullets[i].angle) * speed;
bullets[i].y += Math.sin(bullets[i].angle) * speed;
}
}