как то не корректно стреляет мой кораблик

Код 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 cont:Sprite = new Sprite ;
stage.addEventListener(MouseEvent.MOUSE_MOVE , moveShip);
stage.addEventListener(MouseEvent.CLICK, fire);
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)
{
var angle = ship.rotation;
angle = angle * Math.PI / 180;
var bull:MovieClip = new bul();
cont.addChild(bull);
this.addChild(cont);
cont.getChildAt(cont.numChildren - 1).x = ship.x + nose * Math.cos(angle);
cont.getChildAt(cont.numChildren - 1).y = ship.y + nose * Math.sin(angle);
cont.getChildAt(cont.numChildren - 1).xmov = speed * Math.cos(angle);
cont.getChildAt(cont.numChildren - 1).ymov = speed * Math.sin(angle);
cont.getChildAt(cont.numChildren - 1).addEventListener(Event.ENTER_FRAME ,bullMove);
function bullMove(e:Event)
{
cont.getChildAt(cont.numChildren - 1).x += cont.getChildAt(cont.numChildren - 1).xmov;
cont.getChildAt(cont.numChildren - 1).y += cont.getChildAt(cont.numChildren - 1).ymov
}
}