topical media & game development

talk show tell print

lib-flex-animation-code-10-org-as3lib-kitchensync-easing-Exponential.ax

lib-flex-animation-code-10-org-as3lib-kitchensync-easing-Exponential.ax (swf ) [ flash ] flex


  package org.as3lib.kitchensync.easing
  {
          
<p>@ax-lib-flex-animation-code-10-org-as3lib-kitchensync-easing-Exponential produces values based on an exponentially decaying sine wave.</p> <p>The easing classes provide static methods for interpolating the change between two values over time. Each class handles the interpolation, or easing, differently. Each class typically contains three methods - <code>easeIn()</code>, <code>easeOut()</code> and <code>easeInOut()</code> - which vary the rate of change of the values. Most of the easing functions produce values as a percentage - a number between 0.0 and 1.0</p>
author: modified by Mims H. Wright, 2007
author: (c) 2003 Robert Penner, all rights reserved. - This work is subject to the terms in www.robertpenner.com/easing_terms_of_use.html
see: www.robertpenner.com/easing_terms_of_use.html
see: www.robertpenner.com/easing/
see: EasingUtil

  
          public class @ax-lib-flex-animation-code-10-org-as3lib-kitchensync-easing-Exponential
          {        
              

parameter: timeElapsed - The time since the tween began in milliseconds or frames.
parameter: duration - The duration of the tween, in milliseconds or frames.
returns: Number percentage complete - between 0.0 and 1.0

    
                  public static function easeIn(timeElapsed:Number, duration:Number):Number
                  {
                          return (timeElapsed==0) ? 0 : Math.pow(2, 10 * (timeElapsed/duration - 1));
                  }
                                  
              

parameter: timeElapsed - Specifies the time since the tween began in milliseconds or frames.
parameter: duration - Specifies the duration of the tween, in milliseconds or frames.
returns: Number percentage complete - between 0.0 and 1.0

    
                  public static function easeOut(timeElapsed:Number, duration:Number):Number
                  {
                          return (timeElapsed==duration) ? 1 : (-Math.pow(2, -10 * timeElapsed/duration) + 1);
                  }
          
              

parameter: timeElapsed - Specifies the time since the tween began in milliseconds or frames.
parameter: duration - Specifies the duration of the tween, in milliseconds or frames.
returns: Number percentage complete - between 0.0 and 1.0

    
                  public static function easeInOut(timeElapsed:Number, duration:Number):Number
                  {
                          if (timeElapsed<=0) {
                                  return 0;
                          }
                          if (timeElapsed>=duration) {
                                  return 1;
                          }
                          if ((timeElapsed/=duration/2) < 1) {
                                  return 0.5 * Math.pow(2, 10 * (timeElapsed - 1));
                          }
                          return 0.5 * (-Math.pow(2, -10 * --timeElapsed) + 2);
                  }                
                  
                  

parameter: timeElapsed Specifies the time since the tween began in milliseconds or frames.
parameter: duration Specifies the duration of the tween, in milliseconds or frames.
parameter: overshoot The ammount to go over past the target value. The higher the number, the farther it will go.
returns: percentage complete - between 0.0 and 1.0

   
                  public static function easeOutIn (timeElapsed:Number, duration:Number):Number {
                          if (timeElapsed < duration/2) return easeOut(timeElapsed*2, duration)/2;
                          return easeIn((timeElapsed*2)-duration, duration)/2 + 0.5;
                  }
          }
  }


(C) Æliens 19/08/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.