loading
Find me on Facebook


Game Development

Robert Penner Easing (ala Flash style) in C#

using System;
 
namespace YourFavouriteNamespace
{
    public static class Easing
    {
        // Adapted from source : http://www.robertpenner.com/easing/
 
        public static float Ease(double linearStep, float acceleration, EasingType type)
        {
            float easedStep = acceleration > 0 ? EaseIn(linearStep, type) : 
                              acceleration < 0 ? EaseOut(linearStep, type) : 
                              (float) linearStep;
 
            return MathHelper.Lerp(linearStep, easedStep, Math.Abs(acceleration));
        }
 
        public static float EaseIn(double linearStep, EasingType type)
        {
            switch (type)
            {
                case EasingType.Step:       return linearStep < 0.5 ? 0 : 1;
                case EasingType.Linear:     return (float)linearStep;
                case EasingType.Sine:       return Sine.EaseIn(linearStep);


User login

Syndicate

Syndicate content

Valid XHTML 1.0 Transitional
Valid CSS3