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 / EndArrayPlugin.as < prev    next >
Encoding:
Text File  |  2010-11-30  |  2.2 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.       override public function onInitTween(param1:Object, param2:*, param3:TweenLite) : Boolean
  21.       {
  22.          if(!(param1 is Array) || !(param2 is Array))
  23.          {
  24.             return false;
  25.          }
  26.          this.init(param1 as Array,param2);
  27.          return true;
  28.       }
  29.       
  30.       public function init(param1:Array, param2:Array) : void
  31.       {
  32.          this._a = param1;
  33.          var _loc3_:int = int(param2.length);
  34.          while(_loc3_--)
  35.          {
  36.             if(param1[_loc3_] != param2[_loc3_] && param1[_loc3_] != null)
  37.             {
  38.                this._info[this._info.length] = new ArrayTweenInfo(_loc3_,this._a[_loc3_],param2[_loc3_] - this._a[_loc3_]);
  39.             }
  40.          }
  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(this._info.length);
  48.          if(this.round)
  49.          {
  50.             while(_loc2_--)
  51.             {
  52.                _loc3_ = this._info[_loc2_];
  53.                _loc4_ = _loc3_.start + _loc3_.change * param1;
  54.                this._a[_loc3_.index] = _loc4_ > 0 ? int(_loc4_ + 0.5) : int(_loc4_ - 0.5);
  55.             }
  56.          }
  57.          else
  58.          {
  59.             while(_loc2_--)
  60.             {
  61.                _loc3_ = this._info[_loc2_];
  62.                this._a[_loc3_.index] = _loc3_.start + _loc3_.change * param1;
  63.             }
  64.          }
  65.       }
  66.    }
  67. }
  68.  
  69. class ArrayTweenInfo
  70. {
  71.    public var index:uint;
  72.    
  73.    public var start:Number;
  74.    
  75.    public var change:Number;
  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.