home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Esportes / CrossingCup.swf / scripts / __Packages / sandy / skin / TextureSkin.as < prev   
Text File  |  2007-12-11  |  3KB  |  104 lines

  1. class sandy.skin.TextureSkin extends sandy.skin.BasicSkin implements sandy.skin.Skin
  2. {
  3.    function TextureSkin(t)
  4.    {
  5.       super();
  6.       this.__set__texture(t);
  7.       this._p = new flash.geom.Point(0,0);
  8.       this._cmf = new flash.filters.ColorMatrixFilter();
  9.    }
  10.    function set texture(b)
  11.    {
  12.       this._texture = b;
  13.       this._w = b.width;
  14.       this._h = b.height;
  15.       this.broadcastEvent(this._eOnUpdate);
  16.    }
  17.    function get texture()
  18.    {
  19.       return this._texture;
  20.    }
  21.    function getType(Void)
  22.    {
  23.       return sandy.skin.SkinType.__get__TEXTURE();
  24.    }
  25.    function begin(f, mc)
  26.    {
  27.       var _loc5_ = f._va.sx;
  28.       var _loc4_ = f._va.sy;
  29.       var _loc16_ = f._vb.sx;
  30.       var _loc14_ = f._vb.sy;
  31.       var _loc15_ = f._vc.sx;
  32.       var _loc12_ = f._vc.sy;
  33.       if(!(this._w > 0 && this._h > 0))
  34.       {
  35.          return undefined;
  36.       }
  37.       var _loc18_ = {a:(_loc16_ - _loc5_) / this._w,b:(_loc14_ - _loc4_) / this._w,c:(_loc15_ - _loc5_) / this._h,d:(_loc12_ - _loc4_) / this._h,tx:_loc5_,ty:_loc4_};
  38.       if(undefined == f.tMat)
  39.       {
  40.          var _loc3_ = f.aUv;
  41.          var _loc7_ = _loc3_[0].u * this._w;
  42.          var _loc6_ = _loc3_[0].v * this._h;
  43.          var _loc23_ = _loc3_[1].u * this._w;
  44.          var _loc21_ = _loc3_[1].v * this._h;
  45.          var _loc22_ = _loc3_[2].u * this._w;
  46.          var _loc20_ = _loc3_[2].v * this._h;
  47.          var _loc11_ = new flash.geom.Matrix((_loc23_ - _loc7_) / this._w,(_loc21_ - _loc6_) / this._w,(_loc22_ - _loc7_) / this._h,(_loc20_ - _loc6_) / this._h,_loc7_,_loc6_);
  48.          _loc11_.invert();
  49.          f.tMat = _loc11_;
  50.       }
  51.       var _loc13_ = f.tMat;
  52.       var _loc9_ = this.__concat(_loc13_,_loc18_);
  53.       if(this._useLight == true)
  54.       {
  55.          this._tmp = this._texture.clone();
  56.          var _loc10_ = sandy.core.World3D.getInstance().getLight();
  57.          var _loc17_ = 0.01 * _loc10_.getPower();
  58.          var _loc19_ = _loc17_ - sandy.math.VectorMath.dot(_loc10_.dir,f.createNormale());
  59.          this._cmf.matrix = this.__getBrightnessTransform(_loc19_);
  60.          this._tmp.applyFilter(this._tmp,this._tmp.rectangle,this._p,this._cmf);
  61.          mc.filters = this._filters;
  62.          mc.beginBitmapFill(this._tmp,_loc9_,false,false);
  63.       }
  64.       else
  65.       {
  66.          mc.filters = this._filters;
  67.          mc.beginBitmapFill(this._texture,_loc9_,false,false);
  68.       }
  69.    }
  70.    function __getBrightnessTransform(scale)
  71.    {
  72.       var _loc2_ = scale;
  73.       var _loc1_ = 0;
  74.       return new Array(_loc2_,0,0,0,_loc1_,0,_loc2_,0,0,_loc1_,0,0,_loc2_,0,_loc1_,0,0,0,1,_loc1_);
  75.    }
  76.    function end(f, mc)
  77.    {
  78.       mc.endFill();
  79.    }
  80.    function toString(Void)
  81.    {
  82.       return "sandy.skin.TextureSkin";
  83.    }
  84.    function __concat(m1, m2)
  85.    {
  86.       var _loc2_ = {};
  87.       _loc2_.a = m1.a * m2.a;
  88.       _loc2_.d = m1.d * m2.d;
  89.       _loc2_.b = _loc2_.c = 0;
  90.       _loc2_.ty = m1.ty * m2.d + m2.ty;
  91.       _loc2_.tx = m1.tx * m2.a + m2.tx;
  92.       if(m1.b != 0 || m1.c != 0 || m2.b != 0 || m2.c != 0)
  93.       {
  94.          _loc2_.a += m1.b * m2.c;
  95.          _loc2_.d += m1.c * m2.b;
  96.          _loc2_.b += m1.a * m2.b + m1.b * m2.d;
  97.          _loc2_.c += m1.c * m2.a + m1.d * m2.c;
  98.          _loc2_.tx += m1.ty * m2.c;
  99.          _loc2_.ty += m1.tx * m2.b;
  100.       }
  101.       return _loc2_;
  102.    }
  103. }
  104.