home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2012 January / ME_2012_01.iso / Galileo-Video / system / ChromeLinux.swf / scripts / com / greensock / plugins / EndArrayPlugin.as < prev    next >
Encoding:
Text File  |  2010-11-16  |  2.1 KB  |  85 lines

  1. package com.greensock.plugins
  2. {
  3.    import com.greensock.*;
  4.    
  5.    public class EndArrayPlugin extends TweenPlugin
  6.    {
  7.       public static const API:Number = 1;
  8.       
  9.       protected var _a:Array;
  10.       
  11.       protected var _info:Array = [];
  12.       
  13.       public function EndArrayPlugin()
  14.       {
  15.          super();
  16.          this.propName = "endArray";
  17.          this.overwriteProps = ["endArray"];
  18.       }
  19.       
  20.       public function init(param1:Array, param2:Array) : void
  21.       {
  22.          _a = param1;
  23.          var _loc3_:int = int(param2.length);
  24.          while(_loc3_--)
  25.          {
  26.             if(param1[_loc3_] != param2[_loc3_] && param1[_loc3_] != null)
  27.             {
  28.                _info[_info.length] = new ArrayTweenInfo(_loc3_,_a[_loc3_],param2[_loc3_] - _a[_loc3_]);
  29.             }
  30.          }
  31.       }
  32.       
  33.       override public function onInitTween(param1:Object, param2:*, param3:TweenLite) : Boolean
  34.       {
  35.          if(!(param1 is Array) || !(param2 is Array))
  36.          {
  37.             return false;
  38.          }
  39.          init(param1 as Array,param2);
  40.          return true;
  41.       }
  42.       
  43.       override public function set changeFactor(param1:Number) : void
  44.       {
  45.          var _loc3_:ArrayTweenInfo = null;
  46.          var _loc4_:Number = NaN;
  47.          var _loc2_:int = int(_info.length);
  48.          if(this.round)
  49.          {
  50.             while(_loc2_--)
  51.             {
  52.                _loc3_ = _info[_loc2_];
  53.                _loc4_ = _loc3_.start + _loc3_.change * param1;
  54.                _a[_loc3_.index] = _loc4_ > 0 ? int(_loc4_ + 0.5) : int(_loc4_ - 0.5);
  55.             }
  56.          }
  57.          else
  58.          {
  59.             while(_loc2_--)
  60.             {
  61.                _loc3_ = _info[_loc2_];
  62.                _a[_loc3_.index] = _loc3_.start + _loc3_.change * param1;
  63.             }
  64.          }
  65.       }
  66.    }
  67. }
  68.  
  69. class ArrayTweenInfo
  70. {
  71.    public var change:Number;
  72.    
  73.    public var start:Number;
  74.    
  75.    public var index:uint;
  76.    
  77.    public function ArrayTweenInfo(param1:uint, param2:Number, param3:Number)
  78.    {
  79.       super();
  80.       this.index = param1;
  81.       this.start = param2;
  82.       this.change = param3;
  83.    }
  84. }
  85.