Mega Code Archive

 
Categories / Flash ActionScript / Development
 

A custom mouse pointer

package {   import flash.display.*;   import flash.ui.*;   import flash.events.*;   import flash.geom.*;   public class CustomMousePointer extends Sprite {     public function CustomMousePointer (  ) {       graphics.lineStyle(1);       graphics.beginFill(0x0000FF, 1);       graphics.lineTo(15, 5);       graphics.lineTo(5, 15);       graphics.lineTo(0, 0);       graphics.endFill(  );       var stageDetector:StageDetector = new StageDetector(this);       stageDetector.addEventListener(StageDetector.ADDED_TO_STAGE,                                      addedToStageListener);       stageDetector.addEventListener(StageDetector.REMOVED_FROM_STAGE,                                      removedFromStageListener);     }     private function addedToStageListener (e:Event):void {       Mouse.hide(  );       stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveListener);       stage.addEventListener(Event.MOUSE_LEAVE, mouseLeaveListener);     }     private function removedFromStageListener (e:Event):void {       Mouse.show(  );       stage.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveListener);       stage.removeEventListener(Event.MOUSE_LEAVE, mouseLeaveListener);     }     private function mouseLeaveListener (e:Event):void {       visible = false;     }     private function mouseMoveListener (e:MouseEvent):void {       var pointInParent:Point = parent.globalToLocal(new Point(e.stageX,                                                                e.stageY));       x = pointInParent.x;       y = pointInParent.y;       e.updateAfterEvent(  );       if (!visible) {         visible = true;       }     }   } }