home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2011 May / ME_2011_05.iso / Galileo-Video-Tutorial / system / player.swf / scripts / com / greensock / plugins / TweenPlugin.as < prev    next >
Encoding:
Text File  |  2010-11-30  |  4.8 KB  |  170 lines

  1. package com.greensock.plugins
  2. {
  3.    import com.greensock.*;
  4.    import com.greensock.core.*;
  5.    
  6.    public class TweenPlugin
  7.    {
  8.       public static const VERSION:Number = 1.31;
  9.       
  10.       public static const API:Number = 1;
  11.       
  12.       public var propName:String;
  13.       
  14.       public var overwriteProps:Array;
  15.       
  16.       public var round:Boolean;
  17.       
  18.       public var priority:int = 0;
  19.       
  20.       public var activeDisable:Boolean;
  21.       
  22.       public var onComplete:Function;
  23.       
  24.       public var onEnable:Function;
  25.       
  26.       public var onDisable:Function;
  27.       
  28.       protected var _tweens:Array = [];
  29.       
  30.       protected var _changeFactor:Number = 0;
  31.       
  32.       public function TweenPlugin()
  33.       {
  34.          super();
  35.       }
  36.       
  37.       private static function onTweenEvent(param1:String, param2:TweenLite) : Boolean
  38.       {
  39.          var _loc4_:Boolean = false;
  40.          var _loc5_:Array = null;
  41.          var _loc6_:int = 0;
  42.          var _loc3_:PropTween = param2.cachedPT1;
  43.          if(param1 == "onInit")
  44.          {
  45.             _loc5_ = [];
  46.             while(_loc3_)
  47.             {
  48.                _loc5_[_loc5_.length] = _loc3_;
  49.                _loc3_ = _loc3_.nextNode;
  50.             }
  51.             _loc5_.sortOn("priority",Array.NUMERIC | Array.DESCENDING);
  52.             _loc6_ = int(_loc5_.length);
  53.             while(_loc6_--)
  54.             {
  55.                PropTween(_loc5_[_loc6_]).nextNode = _loc5_[_loc6_ + 1];
  56.                PropTween(_loc5_[_loc6_]).prevNode = _loc5_[_loc6_ - 1];
  57.             }
  58.             param2.cachedPT1 = _loc5_[0];
  59.          }
  60.          else
  61.          {
  62.             while(_loc3_)
  63.             {
  64.                if(_loc3_.isPlugin && Boolean(_loc3_.target[param1]))
  65.                {
  66.                   if(_loc3_.target.activeDisable)
  67.                   {
  68.                      _loc4_ = true;
  69.                   }
  70.                   _loc3_.target[param1]();
  71.                }
  72.                _loc3_ = _loc3_.nextNode;
  73.             }
  74.          }
  75.          return _loc4_;
  76.       }
  77.       
  78.       public static function activate(param1:Array) : Boolean
  79.       {
  80.          var _loc3_:Object = null;
  81.          TweenLite.onPluginEvent = TweenPlugin.onTweenEvent;
  82.          var _loc2_:int = int(param1.length);
  83.          while(_loc2_--)
  84.          {
  85.             if(param1[_loc2_].hasOwnProperty("API"))
  86.             {
  87.                _loc3_ = new (param1[_loc2_] as Class)();
  88.                TweenLite.plugins[_loc3_.propName] = param1[_loc2_];
  89.             }
  90.          }
  91.          return true;
  92.       }
  93.       
  94.       public function onInitTween(param1:Object, param2:*, param3:TweenLite) : Boolean
  95.       {
  96.          this.addTween(param1,this.propName,param1[this.propName],param2,this.propName);
  97.          return true;
  98.       }
  99.       
  100.       protected function addTween(param1:Object, param2:String, param3:Number, param4:*, param5:String = null) : void
  101.       {
  102.          var _loc6_:Number = NaN;
  103.          if(param4 != null)
  104.          {
  105.             _loc6_ = typeof param4 == "number" ? Number(param4) - param3 : Number(param4);
  106.             if(_loc6_ != 0)
  107.             {
  108.                this._tweens[this._tweens.length] = new PropTween(param1,param2,param3,_loc6_,param5 || param2,false);
  109.             }
  110.          }
  111.       }
  112.       
  113.       protected function updateTweens(param1:Number) : void
  114.       {
  115.          var _loc3_:PropTween = null;
  116.          var _loc4_:Number = NaN;
  117.          var _loc2_:int = int(this._tweens.length);
  118.          if(this.round)
  119.          {
  120.             while(_loc2_--)
  121.             {
  122.                _loc3_ = this._tweens[_loc2_];
  123.                _loc4_ = _loc3_.start + _loc3_.change * param1;
  124.                _loc3_.target[_loc3_.property] = _loc4_ > 0 ? int(_loc4_ + 0.5) : int(_loc4_ - 0.5);
  125.             }
  126.          }
  127.          else
  128.          {
  129.             while(_loc2_--)
  130.             {
  131.                _loc3_ = this._tweens[_loc2_];
  132.                _loc3_.target[_loc3_.property] = _loc3_.start + _loc3_.change * param1;
  133.             }
  134.          }
  135.       }
  136.       
  137.       public function set changeFactor(param1:Number) : void
  138.       {
  139.          this.updateTweens(param1);
  140.          this._changeFactor = param1;
  141.       }
  142.       
  143.       public function get changeFactor() : Number
  144.       {
  145.          return this._changeFactor;
  146.       }
  147.       
  148.       public function killProps(param1:Object) : void
  149.       {
  150.          var _loc2_:int = int(this.overwriteProps.length);
  151.          while(_loc2_--)
  152.          {
  153.             if(this.overwriteProps[_loc2_] in param1)
  154.             {
  155.                this.overwriteProps.splice(_loc2_,1);
  156.             }
  157.          }
  158.          _loc2_ = int(this._tweens.length);
  159.          while(_loc2_--)
  160.          {
  161.             if(PropTween(this._tweens[_loc2_]).name in param1)
  162.             {
  163.                this._tweens.splice(_loc2_,1);
  164.             }
  165.          }
  166.       }
  167.    }
  168. }
  169.  
  170.