home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Puzzle / Clusterz / Clusterz.swf / scripts / ENGINE / DISPLAY / OBitmap.as < prev    next >
Encoding:
Text File  |  2008-09-12  |  8.4 KB  |  251 lines

  1. package ENGINE.DISPLAY
  2. {
  3.    import ENGINE.CORE.OGlobal;
  4.    import ENGINE.DISPLAY.EFFECTS.OEffects;
  5.    import flash.display.Bitmap;
  6.    import flash.display.BitmapData;
  7.    import flash.display.Sprite;
  8.    import flash.geom.Rectangle;
  9.    import flash.text.TextField;
  10.    import flash.text.TextFieldAutoSize;
  11.    import flash.text.TextFormat;
  12.    
  13.    public class OBitmap extends Bitmap implements IDisplayObject
  14.    {
  15.        
  16.       
  17.       protected var iY:Number = 0;
  18.       
  19.       protected var iX:Number = 0;
  20.       
  21.       protected var iOBM:OBM = null;
  22.       
  23.       public function OBitmap(param1:OBM = null, param2:Number = 0, param3:Number = 0)
  24.       {
  25.          iX = 0;
  26.          iY = 0;
  27.          iOBM = null;
  28.          super();
  29.          this.iX = param2;
  30.          this.iY = param3;
  31.          Init(param1);
  32.       }
  33.       
  34.       public static function MakeEffectFromListP(param1:Array) : OBitmap
  35.       {
  36.          var _loc2_:Sprite = null;
  37.          var _loc3_:Sprite = null;
  38.          _loc2_ = param1[1] is Sprite ? param1[1] as Sprite : new (param1[1] as Class)();
  39.          _loc3_ = _loc2_.getChildAt(param1[2]) as Sprite;
  40.          return OBitmap.MakeEffect(_loc3_,param1[3],param1[4],param1[5],param1[6],param1[7],_loc3_.x,_loc3_.y);
  41.       }
  42.       
  43.       public static function MakeEffectP(param1:Array) : OBitmap
  44.       {
  45.          return OBitmap.MakeEffect(param1[1],param1[2],param1[3],param1[4],param1[5],param1[6],param1[7],param1[8]);
  46.       }
  47.       
  48.       public static function MakeEffectTextInRectP(param1:Array) : OBitmap
  49.       {
  50.          var _loc2_:Sprite = null;
  51.          var _loc3_:Rectangle = null;
  52.          var _loc4_:Number = NaN;
  53.          var _loc5_:Number = NaN;
  54.          var _loc6_:TextField = null;
  55.          var _loc7_:TextFormat = null;
  56.          _loc2_ = param1[1] is Sprite ? param1[1] as Sprite : new (param1[1] as Class)();
  57.          if(_loc2_.getChildAt(0) is TextField)
  58.          {
  59.             (_loc6_ = _loc2_.getChildAt(0) as TextField).autoSize = TextFieldAutoSize.LEFT;
  60.             _loc6_.text = param1[4];
  61.             (_loc7_ = _loc6_.defaultTextFormat).size = param1[2];
  62.             _loc7_.letterSpacing = param1[3];
  63.             _loc6_.setTextFormat(_loc7_);
  64.             _loc3_ = _loc2_.getBounds(_loc2_);
  65.             _loc4_ = (param1[9] - _loc3_.width) / 2;
  66.             _loc5_ = (param1[10] - _loc3_.height) / 2;
  67.             return OBitmap.MakeEffect(_loc2_,1,param1[5],param1[6],param1[7],param1[8],param1[11] + _loc4_,param1[12] + _loc5_);
  68.          }
  69.          return null;
  70.       }
  71.       
  72.       public static function MakeEffectTextP(param1:Array) : OBitmap
  73.       {
  74.          var _loc2_:Sprite = null;
  75.          var _loc3_:TextField = null;
  76.          var _loc4_:TextFormat = null;
  77.          _loc2_ = param1[1] is Sprite ? param1[1] as Sprite : new (param1[1] as Class)();
  78.          if(_loc2_.getChildAt(0) is TextField)
  79.          {
  80.             _loc3_ = _loc2_.getChildAt(0) as TextField;
  81.             _loc3_.autoSize = TextFieldAutoSize.LEFT;
  82.             _loc3_.text = param1[4];
  83.             (_loc4_ = _loc3_.defaultTextFormat).size = param1[2];
  84.             _loc4_.letterSpacing = param1[3];
  85.             _loc3_.setTextFormat(_loc4_);
  86.             return OBitmap.MakeEffect(_loc2_,1,param1[5],param1[6],param1[7],param1[8],param1[9],param1[10]);
  87.          }
  88.          return null;
  89.       }
  90.       
  91.       public static function MakeRoundRectBorderEffectP(param1:Array) : OBitmap
  92.       {
  93.          var _loc2_:Sprite = null;
  94.          _loc2_ = new Sprite();
  95.          _loc2_.graphics.beginFill(0);
  96.          _loc2_.graphics.drawRoundRect(0,0,param1[1],param1[2],param1[3]);
  97.          _loc2_.graphics.drawRoundRect(param1[4],param1[4],param1[1] - param1[4] * 2,param1[2] - param1[4] * 2,param1[3] - param1[4]);
  98.          return OBitmap.MakeEffect(_loc2_,1,param1[5],param1[6],param1[7],param1[8],param1[9],param1[10]);
  99.       }
  100.       
  101.       public static function MakeEffectInRectP(param1:Array) : OBitmap
  102.       {
  103.          var _loc2_:Number = NaN;
  104.          var _loc3_:Sprite = null;
  105.          var _loc4_:Rectangle = null;
  106.          var _loc5_:Number = NaN;
  107.          var _loc6_:Number = NaN;
  108.          var _loc7_:Number = NaN;
  109.          var _loc8_:Number = NaN;
  110.          _loc2_ = Math.min(param1[7],param1[8]);
  111.          _loc3_ = param1[1] is Sprite ? param1[1] as Sprite : new (param1[1] as Class)();
  112.          _loc4_ = _loc3_.getBounds(_loc3_);
  113.          _loc5_ = Math.max(_loc4_.width,_loc4_.height);
  114.          _loc6_ = _loc2_ / _loc5_ * param1[2];
  115.          _loc7_ = (param1[7] - _loc4_.width * _loc6_) / 2;
  116.          _loc8_ = (param1[8] - _loc4_.height * _loc6_) / 2;
  117.          return OBitmap.MakeEffect(_loc3_,_loc6_,param1[3],param1[4],param1[5],param1[6],param1[9] + _loc7_,param1[10] + _loc8_);
  118.       }
  119.       
  120.       public static function MakeTmp(param1:*, param2:Number = 1, param3:Number = 0, param4:Number = 0, param5:Number = 0) : OBitmap
  121.       {
  122.          var _loc6_:OBM = null;
  123.          _loc6_ = OBM.Make([null,[ODisplay.SpriteLib,param1],param2,param3,param4,param5]);
  124.          return new OBitmap(_loc6_,param3,param4);
  125.       }
  126.       
  127.       public static function MakeP(param1:Array) : OBitmap
  128.       {
  129.          return OBitmap.MakeTmp(param1[1],param1[2],param1[3],param1[4]);
  130.       }
  131.       
  132.       public static function MakeRoundRectEffectP(param1:Array) : OBitmap
  133.       {
  134.          var _loc2_:Sprite = null;
  135.          _loc2_ = new Sprite();
  136.          _loc2_.graphics.beginFill(0);
  137.          _loc2_.graphics.drawRoundRect(0,0,param1[1],param1[2],param1[3]);
  138.          return OBitmap.MakeEffect(_loc2_,1,param1[4],param1[5],param1[6],param1[7],param1[8],param1[9]);
  139.       }
  140.       
  141.       public static function Make(param1:Array) : OBitmap
  142.       {
  143.          return new OBitmap(param1[1][0](param1[1]),param1[2],param1[3]);
  144.       }
  145.       
  146.       public static function MakeEffect(param1:*, param2:Number, param3:String, param4:String, param5:String, param6:Number = 1, param7:Number = 0, param8:Number = 0) : OBitmap
  147.       {
  148.          var _loc9_:OBM = null;
  149.          _loc9_ = OEffects.Apply(param1,param2,param3,param4,param5,param6,param7,param8);
  150.          return new OBitmap(_loc9_,param7,param8);
  151.       }
  152.       
  153.       public function get prVisible() : Boolean
  154.       {
  155.          return this.visible;
  156.       }
  157.       
  158.       public function set prX(param1:Number) : void
  159.       {
  160.          this.iX = param1;
  161.          Pos(this.iX,this.iY);
  162.       }
  163.       
  164.       public function Clear() : void
  165.       {
  166.          this.Init(null);
  167.       }
  168.       
  169.       public function set prOBM(param1:OBM) : void
  170.       {
  171.          this.Init(param1);
  172.       }
  173.       
  174.       public function Pos(param1:Number, param2:Number) : void
  175.       {
  176.          this.iX = param1;
  177.          this.iY = param2;
  178.          if(this.iOBM)
  179.          {
  180.             this.x = this.iX * OGlobal.Scale + this.iOBM.iX;
  181.             this.y = this.iY * OGlobal.Scale + this.iOBM.iY;
  182.          }
  183.          else
  184.          {
  185.             this.x = this.iX * OGlobal.Scale;
  186.             this.y = this.iY * OGlobal.Scale;
  187.          }
  188.       }
  189.       
  190.       public function set prY(param1:Number) : void
  191.       {
  192.          this.iY = param1;
  193.          Pos(this.iX,this.iY);
  194.       }
  195.       
  196.       public function Init(param1:OBM) : void
  197.       {
  198.          this.iOBM = param1;
  199.          this.bitmapData = !!param1 ? param1.iBM : null;
  200.          this.Pos(this.iX,this.iY);
  201.       }
  202.       
  203.       public function set prVisible(param1:Boolean) : void
  204.       {
  205.          this.visible = param1;
  206.       }
  207.       
  208.       public function Clone() : OBitmap
  209.       {
  210.          return new OBitmap(this.iOBM.Clone(),this.iX,this.iY);
  211.       }
  212.       
  213.       public function get prX() : Number
  214.       {
  215.          return this.iX;
  216.       }
  217.       
  218.       public function get prY() : Number
  219.       {
  220.          return this.iY;
  221.       }
  222.       
  223.       public function get prOBM() : OBM
  224.       {
  225.          return this.iOBM;
  226.       }
  227.       
  228.       public function get prHeight() : Number
  229.       {
  230.          return !!this.iOBM ? this.iOBM.iHeight / OGlobal.Scale : 0;
  231.       }
  232.       
  233.       public function get prWidth() : Number
  234.       {
  235.          return !!this.iOBM ? this.iOBM.iWidth / OGlobal.Scale : 0;
  236.       }
  237.       
  238.       public function CopyFrom(param1:OBitmap) : void
  239.       {
  240.          this.iX = param1.iX;
  241.          this.iY = param1.iY;
  242.          this.Init(param1.iOBM);
  243.       }
  244.       
  245.       public function Move(param1:Number, param2:Number) : void
  246.       {
  247.          Pos(this.iX + param1,this.iY + param2);
  248.       }
  249.    }
  250. }
  251.