home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Diversos / beauty_resort.swf / scripts / classes / basic / Mouse / TFMouseWeb.as < prev   
Encoding:
Text File  |  2008-09-04  |  5.2 KB  |  189 lines

  1. package classes.basic.Mouse
  2. {
  3.    import classes.basic.Events.TFEvent;
  4.    import classes.basic.MovieClip.TFMovieClip;
  5.    import classes.basic.Sound.TFSound;
  6.    import flash.display.DisplayObject;
  7.    import flash.display.MovieClip;
  8.    import flash.events.MouseEvent;
  9.    import flash.geom.Point;
  10.    import flash.ui.Mouse;
  11.    import flash.utils.getDefinitionByName;
  12.    
  13.    public class TFMouseWeb
  14.    {
  15.        
  16.       
  17.       private var bRegistered:Boolean;
  18.       
  19.       private var scene:MovieClip;
  20.       
  21.       private var pCoord:Point;
  22.       
  23.       private var arEvents:Array;
  24.       
  25.       protected var mcMouse:MovieClip;
  26.       
  27.       private var fxMouseDown:TFSound;
  28.       
  29.       public function TFMouseWeb(param1:MovieClip)
  30.       {
  31.          super();
  32.          scene = param1;
  33.          bRegistered = false;
  34.          arEvents = new Array();
  35.          arEvents[TFEvent.EVENT_MOUSEMOVE] = new Array();
  36.          pCoord = new Point(0,0);
  37.          scene.stage.addEventListener(MouseEvent.MOUSE_MOVE,onMouseMove,false,0,true);
  38.          scene.stage.addEventListener(MouseEvent.CLICK,onMouseClick,false,0,true);
  39.          scene.stage.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown,false,0,true);
  40.       }
  41.       
  42.       private function dispatchEvent(param1:TFEvent) : *
  43.       {
  44.          var _loc2_:Array = null;
  45.          var _loc3_:* = undefined;
  46.          _loc2_ = arEvents[param1.event];
  47.          for(_loc3_ in _loc2_)
  48.          {
  49.             if(_loc2_[_loc3_](param1) == true)
  50.             {
  51.                break;
  52.             }
  53.          }
  54.       }
  55.       
  56.       public function registerEvent(param1:String, param2:Function) : Boolean
  57.       {
  58.          arEvents[param1].push(param2);
  59.          return true;
  60.       }
  61.       
  62.       protected function onMouseDown(param1:MouseEvent) : void
  63.       {
  64.          if(bRegistered)
  65.          {
  66.             if(this.fxMouseDown != null)
  67.             {
  68.                this.fxMouseDown.play();
  69.             }
  70.          }
  71.          param1.updateAfterEvent();
  72.       }
  73.       
  74.       public function removeImage(param1:String, param2:String) : *
  75.       {
  76.          var _loc3_:MovieClip = null;
  77.          if(param2 == null || param2 == "")
  78.          {
  79.             _loc3_ = mcMouse;
  80.          }
  81.          else
  82.          {
  83.             _loc3_ = MovieClip(mcMouse.getChildByName(param2));
  84.          }
  85.          _loc3_.removeChild(_loc3_.getChildByName(param1));
  86.       }
  87.       
  88.       public function showIcon(param1:String) : *
  89.       {
  90.          this.mcMouse.gotoAndStop(param1);
  91.       }
  92.       
  93.       protected function onMouseClick(param1:MouseEvent) : void
  94.       {
  95.          if(bRegistered)
  96.          {
  97.             if(mcMouse.splash != null)
  98.             {
  99.                mcMouse.splash.gotoAndPlay(2);
  100.             }
  101.          }
  102.          param1.updateAfterEvent();
  103.       }
  104.       
  105.       public function register() : *
  106.       {
  107.          var _loc1_:Class = null;
  108.          if(bRegistered)
  109.          {
  110.             return;
  111.          }
  112.          Mouse.hide();
  113.          _loc1_ = getDefinitionByName("mouseCursor") as Class;
  114.          mcMouse = new _loc1_();
  115.          scene.stage.addChild(mcMouse);
  116.          TFMovieClip.setMouseEnabled(mcMouse,false);
  117.          bRegistered = true;
  118.       }
  119.       
  120.       public function attachImage(param1:String, param2:MovieClip, param3:String) : *
  121.       {
  122.          var mcTarget:MovieClip = null;
  123.          var p_frame:String = param1;
  124.          var p_mc:MovieClip = param2;
  125.          var p_target:String = param3;
  126.          mcMouse.gotoAndStop(p_frame);
  127.          TFMovieClip.addLabelScript(mcMouse,p_frame,function():*
  128.          {
  129.             TFMovieClip.addLabelScript(mcMouse,p_frame,null);
  130.             if(p_target == null || p_target == "")
  131.             {
  132.                mcTarget = mcMouse;
  133.             }
  134.             else
  135.             {
  136.                mcTarget = MovieClip(mcMouse.getChildByName(p_target));
  137.             }
  138.             mcTarget.addChild(p_mc);
  139.             TFMovieClip.setMouseEnabled(mcTarget,false);
  140.          });
  141.       }
  142.       
  143.       protected function onMouseMove(param1:MouseEvent) : void
  144.       {
  145.          if(bRegistered)
  146.          {
  147.             mcMouse.x = pCoord.x = scene.stage.mouseX;
  148.             mcMouse.y = pCoord.y = scene.stage.mouseY;
  149.             dispatchEvent(new TFEvent(TFEvent.EVENT_MOUSEMOVE,pCoord as Object));
  150.          }
  151.          param1.updateAfterEvent();
  152.       }
  153.       
  154.       public function setFxMouseDown(param1:TFSound) : *
  155.       {
  156.          this.fxMouseDown = param1;
  157.       }
  158.       
  159.       public function unregister() : *
  160.       {
  161.          if(!bRegistered)
  162.          {
  163.             return;
  164.          }
  165.          Mouse.show();
  166.          scene.mouseDummy.removeChild(DisplayObject(mcMouse));
  167.          bRegistered = false;
  168.       }
  169.       
  170.       public function unregisterEvent(param1:String, param2:Function) : Boolean
  171.       {
  172.          var _loc3_:Array = null;
  173.          var _loc4_:Number = NaN;
  174.          _loc3_ = arEvents[param1];
  175.          _loc4_ = 0;
  176.          while(_loc4_ < _loc3_.length)
  177.          {
  178.             if(_loc3_[_loc4_] == param2)
  179.             {
  180.                _loc3_.splice(_loc4_,1);
  181.                return true;
  182.             }
  183.             _loc4_++;
  184.          }
  185.          return false;
  186.       }
  187.    }
  188. }
  189.