home *** CD-ROM | disk | FTP | other *** search
/ Computer Active 2010 August / CA08.iso / Darbas / kidoz_v1.air / kidoz.swf / scripts / gs / easing / Elastic.as
Encoding:
Text File  |  2009-05-06  |  2.9 KB  |  102 lines

  1. package gs.easing
  2. {
  3.    public class Elastic
  4.    {
  5.       private static const _2PI:Number = Math.PI * 2;
  6.       
  7.       public function Elastic()
  8.       {
  9.          super();
  10.       }
  11.       
  12.       public static function easeIn(param1:Number, param2:Number, param3:Number, param4:Number, param5:Number = 0, param6:Number = 0) : Number
  13.       {
  14.          var _loc7_:Number = NaN;
  15.          if(param1 == 0)
  16.          {
  17.             return param2;
  18.          }
  19.          param1 = param1 / param4;
  20.          if(param1 == 1)
  21.          {
  22.             return param2 + param3;
  23.          }
  24.          if(!param6)
  25.          {
  26.             param6 = param4 * 0.3;
  27.          }
  28.          if(!param5 || param5 < Math.abs(param3))
  29.          {
  30.             param5 = param3;
  31.             _loc7_ = param6 / 4;
  32.          }
  33.          else
  34.          {
  35.             _loc7_ = param6 / _2PI * Math.asin(param3 / param5);
  36.          }
  37.          return -(param5 * Math.pow(2,10 * (param1 = param1 - 1)) * Math.sin((param1 * param4 - _loc7_) * _2PI / param6)) + param2;
  38.       }
  39.       
  40.       public static function easeInOut(param1:Number, param2:Number, param3:Number, param4:Number, param5:Number = 0, param6:Number = 0) : Number
  41.       {
  42.          var _loc7_:Number = NaN;
  43.          if(param1 == 0)
  44.          {
  45.             return param2;
  46.          }
  47.          param1 = param1 / (param4 / 2);
  48.          if(param1 == 2)
  49.          {
  50.             return param2 + param3;
  51.          }
  52.          if(!param6)
  53.          {
  54.             param6 = param4 * (0.3 * 1.5);
  55.          }
  56.          if(!param5 || param5 < Math.abs(param3))
  57.          {
  58.             param5 = param3;
  59.             _loc7_ = param6 / 4;
  60.          }
  61.          else
  62.          {
  63.             _loc7_ = param6 / _2PI * Math.asin(param3 / param5);
  64.          }
  65.          if(param1 < 1)
  66.          {
  67.             return -0.5 * (param5 * Math.pow(2,10 * (param1 = param1 - 1)) * Math.sin((param1 * param4 - _loc7_) * _2PI / param6)) + param2;
  68.          }
  69.          return param5 * Math.pow(2,-10 * (param1 = param1 - 1)) * Math.sin((param1 * param4 - _loc7_) * _2PI / param6) * 0.5 + param3 + param2;
  70.       }
  71.       
  72.       public static function easeOut(param1:Number, param2:Number, param3:Number, param4:Number, param5:Number = 0, param6:Number = 0) : Number
  73.       {
  74.          var _loc7_:Number = NaN;
  75.          if(param1 == 0)
  76.          {
  77.             return param2;
  78.          }
  79.          param1 = param1 / param4;
  80.          if(param1 == 1)
  81.          {
  82.             return param2 + param3;
  83.          }
  84.          if(!param6)
  85.          {
  86.             param6 = param4 * 0.3;
  87.          }
  88.          if(!param5 || param5 < Math.abs(param3))
  89.          {
  90.             param5 = param3;
  91.             _loc7_ = param6 / 4;
  92.          }
  93.          else
  94.          {
  95.             _loc7_ = param6 / _2PI * Math.asin(param3 / param5);
  96.          }
  97.          return param5 * Math.pow(2,-10 * param1) * Math.sin((param1 * param4 - _loc7_) * _2PI / param6) + param3 + param2;
  98.       }
  99.    }
  100. }
  101.  
  102.