Хаха)) Мистика. Ладно, может у меня руки кривые:

Код AS3:
package
{
import Game.Cannon;
import Game.Projectile;
import flash.display.Sprite;
import flash.events.MouseEvent;
[SWF (height="500", width="1000")]
public class main extends Sprite //Главный файл
{
private var cannon:Cannon
private var projectile:Projectile;
private var cannonAngle:Number;
public function main()
{
cannon = new Cannon();
stage.addChild(cannon);
stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveListener);
stage.addEventListener(MouseEvent.CLICK, clickMoveListener);
}
private function mouseMoveListener(e:MouseEvent):void
{
cannon.rotation = Math.atan2(stage.mouseY - 490, stage.mouseX - 10) * 180 / Math.PI;
cannonAngle = Math.atan2(stage.mouseY - 490, stage.mouseX - 10) * 180 / Math.PI;
// trace(stage.mouseX, stage.mouseY);
}
private function clickMoveListener(e:MouseEvent):void
{
//projectile = new Projectile();
}
}
}

Код AS3:
package Game
{
import flash.display.Sprite;
import flash.events.MouseEvent;
public final class Cannon extends Sprite //Моя пушка ;)
{
private var cannon:Sprite;
public function Cannon()
{
super();
cannon = new Sprite();
cannon.graphics.beginFill(0x000000, 1);
cannon.graphics.drawRect(10,485,50,10);
cannon.graphics.drawCircle(10,490,10);
this.addChild(cannon);
}
}
}