home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Puzzle / filler.swf / scripts / com / simianlogic / ezButton.as < prev    next >
Encoding:
Text File  |  2008-09-02  |  3.8 KB  |  142 lines

  1. package com.simianlogic
  2. {
  3.    import flash.display.Sprite;
  4.    import flash.events.Event;
  5.    import flash.events.MouseEvent;
  6.    import flash.text.TextField;
  7.    import flash.text.TextFormat;
  8.    
  9.    public class ezButton extends Sprite
  10.    {
  11.        
  12.       
  13.       private var _label:String = "";
  14.       
  15.       public var active:Boolean = true;
  16.       
  17.       public var labelText:TextField;
  18.       
  19.       public var eventString:String;
  20.       
  21.       public var h:int;
  22.       
  23.       public var w:int;
  24.       
  25.       public var click:Sprite;
  26.       
  27.       public var over:Sprite;
  28.       
  29.       public var under:Sprite;
  30.       
  31.       public function ezButton(param1:String, param2:String, param3:int, param4:int)
  32.       {
  33.          var _loc5_:TextFormat = null;
  34.          active = true;
  35.          _label = "";
  36.          super();
  37.          w = param3;
  38.          h = param4;
  39.          eventString = param2;
  40.          (_loc5_ = new TextFormat()).font = "Arial";
  41.          _loc5_.color = 16777215;
  42.          _loc5_.size = 16;
  43.          under = new Sprite();
  44.          under.graphics.beginFill(0);
  45.          under.graphics.drawRect(0,0,w,h);
  46.          under.graphics.endFill();
  47.          under.graphics.beginFill(5592405);
  48.          under.graphics.drawRect(1,1,w - 2,h - 2);
  49.          under.graphics.endFill();
  50.          under.buttonMode = true;
  51.          addChild(under);
  52.          over = new Sprite();
  53.          over.graphics.beginFill(3355443);
  54.          over.graphics.drawRect(1,1,w - 2,h - 2);
  55.          over.graphics.endFill();
  56.          over.buttonMode = true;
  57.          under.addChild(over);
  58.          over.visible = false;
  59.          click = new Sprite();
  60.          click.graphics.beginFill(0);
  61.          click.graphics.drawRect(0,0,w,h);
  62.          click.graphics.endFill();
  63.          click.buttonMode = true;
  64.          under.addChild(click);
  65.          click.visible = false;
  66.          labelText = new TextField();
  67.          labelText.defaultTextFormat = _loc5_;
  68.          labelText.selectable = false;
  69.          labelText.y = (h - 20) / 2;
  70.          labelText.height = 20;
  71.          under.addChild(labelText);
  72.          label = param1;
  73.          under.mouseChildren = false;
  74.          under.addEventListener(MouseEvent.ROLL_OVER,rollOver);
  75.          under.addEventListener(MouseEvent.ROLL_OUT,rollOut);
  76.          under.addEventListener(MouseEvent.MOUSE_DOWN,mouseDown);
  77.          under.addEventListener(MouseEvent.MOUSE_UP,mouseUp);
  78.          under.addEventListener(MouseEvent.CLICK,handleClick);
  79.       }
  80.       
  81.       public function rollOver(param1:MouseEvent) : void
  82.       {
  83.          if(!active)
  84.          {
  85.             return;
  86.          }
  87.          dispatchEvent(new Event("sound_rollover",true));
  88.          over.visible = true;
  89.       }
  90.       
  91.       public function mouseUp(param1:MouseEvent) : void
  92.       {
  93.          if(!active)
  94.          {
  95.             return;
  96.          }
  97.          click.visible = false;
  98.       }
  99.       
  100.       public function get label() : String
  101.       {
  102.          return _label;
  103.       }
  104.       
  105.       public function handleClick(param1:MouseEvent) : void
  106.       {
  107.          if(!active)
  108.          {
  109.             return;
  110.          }
  111.          dispatchEvent(new Event("button_" + eventString));
  112.       }
  113.       
  114.       public function rollOut(param1:MouseEvent) : void
  115.       {
  116.          if(!active)
  117.          {
  118.             return;
  119.          }
  120.          over.visible = false;
  121.          click.visible = false;
  122.       }
  123.       
  124.       public function set label(param1:String) : void
  125.       {
  126.          _label = param1;
  127.          labelText.text = label;
  128.          labelText.x = w / 2 - labelText.textWidth / 2;
  129.          labelText.width = labelText.textWidth + 10;
  130.       }
  131.       
  132.       public function mouseDown(param1:MouseEvent) : void
  133.       {
  134.          if(!active)
  135.          {
  136.             return;
  137.          }
  138.          click.visible = true;
  139.       }
  140.    }
  141. }
  142.