Добрый вечер.
Наверное каждый из вас играл в игры, где нужно с помощью пушки разрушить, например, замок. Так вот в таких играх угол выстрела и его сила определялась положением курсора в приложении (выше курсор - больше угол, дальше курсор от пушки - сильнее выстрел). Хочу сделать подобное, но не получается.

Код 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);
this.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveListener);
}
private function mouseMoveListener(e:MouseEvent):void
{
this.rotation = Math.atan(e.stageY/e.stageX)*180/Math.PI;
trace(Math.atan(e.stageY/e.stageX)*180/Math.PI)
}
}
}
Делаю так: поворачиваю пушку на угол а=arctg(y/x), где x и y - координаты мыши в окне приложения. Но прикол в том, что ничего не поворачивается (иногда даже исчезает...). Подскажите, как правильно сделать?)
PS и как задать точку, относительно которой происходит вращение?