home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Aventura / VenusMission.swf / scripts / __Packages / effects / Fader.as
Encoding:
Text File  |  2008-09-23  |  3.8 KB  |  113 lines

  1. class effects.Fader
  2. {
  3.    var MC;
  4.    var timer;
  5.    var fadedObjects;
  6.    function Fader(_MC)
  7.    {
  8.       this.MC = _MC;
  9.       this.timer = system.Timer.getInstance(this.MC);
  10.       this.fadedObjects = new Array();
  11.    }
  12.    function applyRed(obj, valM, valO, tr, clrs)
  13.    {
  14.       obj.rMvalue += valM;
  15.       obj.rOvalue += valO;
  16.       clrs.redMultiplier = obj.rMvalue;
  17.       clrs.redOffset = obj.rOvalue;
  18.       tr.colorTransform = clrs;
  19.    }
  20.    function applyGreen(obj, valM, valO, tr, clrs)
  21.    {
  22.       obj.gMvalue += valM;
  23.       obj.gOvalue += valO;
  24.       clrs.greenMultiplier = obj.gMvalue;
  25.       clrs.greenOffset = obj.gOvalue;
  26.       tr.colorTransform = clrs;
  27.    }
  28.    function applyBlue(obj, valM, valO, tr, clrs)
  29.    {
  30.       obj.bMvalue += valM;
  31.       obj.bOvalue += valO;
  32.       clrs.blueMultiplier = obj.bMvalue;
  33.       clrs.blueOffset = obj.bOvalue;
  34.       tr.colorTransform = clrs;
  35.    }
  36.    function applyAlpha(obj, valM, valO, tr, clrs)
  37.    {
  38.       obj.aMvalue += valM;
  39.       obj.aOvalue += valO;
  40.       clrs.alphaMultiplier = obj.aMvalue;
  41.       clrs.alphaOffset = obj.aOvalue;
  42.       tr.colorTransform = clrs;
  43.    }
  44.    function fadeIt(_MC, newcolors, steps, f_After)
  45.    {
  46.       if(steps < 2)
  47.       {
  48.          var newTransform = new flash.geom.Transform(MovieClip(_MC));
  49.          newTransform.colorTransform = newcolors;
  50.          f_After();
  51.       }
  52.       else
  53.       {
  54.          var obj = this.fadedObjects[this.fadedObjects.length] = new Object();
  55.          obj.MC = _MC;
  56.          obj.newTransform = new flash.geom.Transform(MovieClip(_MC));
  57.          var objcolors = obj.objColors = obj.newTransform.colorTransform;
  58.          obj.colorMatrix = newcolors;
  59.          steps++;
  60.          obj.rMstep = (newcolors.redMultiplier - objcolors.redMultiplier) / steps;
  61.          obj.rOstep = (newcolors.redOffset - objcolors.redOffset) / steps;
  62.          obj.rMvalue = objcolors.redMultiplier;
  63.          obj.rOvalue = objcolors.redOffset;
  64.          obj.gMstep = (newcolors.greenMultiplier - objcolors.greenMultiplier) / steps;
  65.          obj.gOstep = (newcolors.greenOffset - objcolors.greenOffset) / steps;
  66.          obj.gMvalue = objcolors.greenMultiplier;
  67.          obj.gOvalue = objcolors.greenOffset;
  68.          obj.bMstep = (newcolors.blueMultiplier - objcolors.blueMultiplier) / steps;
  69.          obj.bOstep = (newcolors.blueOffset - objcolors.blueOffset) / steps;
  70.          obj.bMvalue = objcolors.blueMultiplier;
  71.          obj.bOvalue = objcolors.blueOffset;
  72.          obj.aMstep = (newcolors.alphaMultiplier - objcolors.alphaMultiplier) / steps;
  73.          obj.aOstep = (newcolors.alphaOffset - objcolors.alphaOffset) / steps;
  74.          obj.aMvalue = objcolors.alphaMultiplier;
  75.          obj.aOvalue = objcolors.alphaOffset;
  76.          obj.steps = steps;
  77.          obj.fn = f_After;
  78.          this.timer.addListener(MovieClip("Fader"),0,system.Delegate.create(this,this.fade),0);
  79.       }
  80.    }
  81.    function fadeThis(obj)
  82.    {
  83.       var transf = obj.newTransform;
  84.       var clrs = obj.objColors;
  85.       this.applyRed(obj,obj.rMstep,obj.rOstep,transf,clrs);
  86.       this.applyGreen(obj,obj.gMstep,obj.gOstep,transf,clrs);
  87.       this.applyBlue(obj,obj.bMstep,obj.bOstep,transf,clrs);
  88.       this.applyAlpha(obj,obj.aMstep,obj.aOstep,transf,clrs);
  89.       obj.steps--;
  90.       return obj.steps > 0;
  91.    }
  92.    function fade()
  93.    {
  94.       var obj;
  95.       for(var pos in this.fadedObjects)
  96.       {
  97.          obj = this.fadedObjects[pos];
  98.          var fade = this.fadeThis(obj);
  99.          if(fade == false)
  100.          {
  101.             var fn = obj.fn;
  102.             this.fadedObjects.splice(Number(pos));
  103.             if(this.fadedObjects.length == 0)
  104.             {
  105.                obj.MC.transform.colorTransform = obj.colorMatrix;
  106.                this.timer.removeListener(MovieClip("Fader"));
  107.             }
  108.             fn();
  109.          }
  110.       }
  111.    }
  112. }
  113.