package nhn.util
{
import flash.display.*;
import flash.events.*;
import flash.ui.*;
import flash.utils.*;
public class HandMouseCursor extends Object
{
private var cursors:Dictionary;
private var currentCursor:Object;
private var stage:Object;
private static var thisObj:HandMouseCursor;
public function HandMouseCursor() : void
{
return;
}// end function
public function showCursor(param1:String) : void
{
var _loc_2:* = undefined;
_loc_2 = param1;
if (cursors[_loc_2] != null && cursors[_loc_2] != undefined)
{
currentCursor = cursors[_loc_2];
Mouse.hide();
currentCursor.x = stage.mouseX;
currentCursor.y = stage.mouseY;
stage.addChild(currentCursor);
trace("??", stage.hasEventListener(MouseEvent.MOUSE_MOVE), stage);
if (!stage.hasEventListener(MouseEvent.MOUSE_MOVE))
{
stage.addEventListener(MouseEvent.MOUSE_MOVE, moveMouse);
}
}
return;
}// end function
public function removeCursor(param1:String) : Boolean
{
var _loc_2:* = undefined;
_loc_2 = param1;
if (cursors == null)
{
return false;
}
if (cursors[_loc_2] != null && cursors[_loc_2] != undefined)
{
cursors[_loc_2] = null;
delete cursors[_loc_2];
return true;
}
return false;
}// end function
private function moveMouse(event:MouseEvent) : void
{
Mouse.hide();
currentCursor.x = stage.mouseX;
currentCursor.y = stage.mouseY;
event.updateAfterEvent();
return;
}// end function
public function addCursor(param1:Sprite, param2:String) : Boolean
{
var _loc_3:* = undefined;
var _loc_4:* = undefined;
_loc_3 = param2;
_loc_4 = param1;
if (cursors == null)
{
cursors = new Dictionary();
}
if (cursors[_loc_3] == null || cursors[_loc_3] == undefined)
{
_loc_4.mouseEnabled = false;
_loc_4.mouseChildren = false;
_loc_4.enabled = false;
cursors[_loc_3] = _loc_4;
return true;
}
return false;
}// end function
public function hideCursor(param1:String = "") : void
{
var _loc_2:* = undefined;
var _loc_3:* = undefined;
trace("hide");
_loc_2 = currentCursor;
_loc_3 = param1;
if (_loc_3 != "")
{
_loc_2 = cursors[_loc_3];
}
if (_loc_2 != null && _loc_2 != undefined)
{
Mouse.show();
if (currentCursor != null && currentCursor.parent == stage)
{
stage.removeChild(currentCursor);
}
}
if (stage.hasEventListener(MouseEvent.MOUSE_MOVE))
{
stage.removeEventListener(MouseEvent.MOUSE_MOVE, moveMouse);
}
return;
}// end function
public function addStage(param1) : Boolean
{
if (stage == null || stage == undefined)
{
stage = param1;
return true;
}
return false;
}// end function
public static function getInstance() : HandMouseCursor
{
if (thisObj == null)
{
thisObj = new HandMouseCursor;
}
return thisObj;
}// end function
}
}
댓글 없음:
댓글 쓰기