ROTATE ARROW kazy forked:1favorite:1lines:38license : MIT License modified : 2009-05-25 22:28:52 Embed Tweet package { import flash.display.Sprite; import flash.events.Event; public class Main extends Sprite { private var arrow:Sprite; public function Main() { init(); } private function init():void { arrow = makeArrow(); addChild(arrow); arrow.x = stage.stageWidth / 2; arrow.y = stage.stageHeight / 2; addEventListener(Event.ENTER_FRAME, onEnterFrame); } public function onEnterFrame(event:Event):void { var dx:Number = mouseX - arrow.x; var dy:Number = mouseY - arrow.y; var radians:Number = Math.atan2(dy, dx); arrow.rotation = radians * 180 / Math.PI; } public function makeArrow():Sprite { var newArrow:Sprite = new Sprite(); newArrow.graphics.lineStyle(1, 0, 1); newArrow.graphics.beginFill(0x990033); newArrow.graphics.moveTo(-50, -25); newArrow.graphics.lineTo(0, -25); newArrow.graphics.lineTo(0, -50); newArrow.graphics.lineTo(50, 0); newArrow.graphics.lineTo(0, 50); newArrow.graphics.lineTo(0, 25); newArrow.graphics.lineTo(-50, 25); newArrow.graphics.lineTo(-50, -25); newArrow.graphics.endFill(); return newArrow; } } } Code Fullscreen Preview Fullscreen Koutarou rotation Math.atan2 mouseY mouseX addEventListener addChild Math.PI Event.ENTER_FRAME Event Sprite Number sort new page view favorite forked pv236 forked from: ROTATE ARROW keno42 forked:0 favorite:0lines:40 (diff:3)