easing Functions

Easing Functions & Frame Timer for Animations in Excel

Version 1
20Oct 2016

easingFunctions Documentation

By: Mark Kubiszyn




Here are some easing Functions put together with a Frame Timer to allow you to create some nice effects for animation in Excel. I have added a small green square, a Frame Timer and a Chart that plots the values from the easing Functions

FEATURES

- a Frame Timer, used to sync the animations
- some nice Easing Functions:
easeInQuad
easeOutQuad
easeInCubic
easeOutSine
easeOutBack
EaseInBounce
easeOutBounce
easeOutElastic

REQUIRED

Excel 2010 or Excel 2013
Knowledge of VBA if you want to use these Functions in your own Projects

Running the Easing Functions

Select one of the Easing Functions from the Drop-down Box on the 'easingFunctions' Worksheet and press the 'Run Easing' Button to watch the animation. An easing Chart will plot the derived values to show you the shape the animation takes

easing Chart Plot

About the Easing Functions & The Code to Run Them

The easing Functions have been taken from Robert Penners easing functions http://robertpenner.com/easing/
I have ported them so that I can use them in VBA. I have not ported all of them - I have selected a few really nice ones and written a demo to use them. This is the Product that I am offering for anyone interested in animation

The Code I have written initialises a Shape Object (a small square image) and then synchronises to a Frame Timer in a running loop. Within the loop I then call one of the easing Functions. The easing Function returns a value that is applied to the Top, Left, Width or Height of the Shape to create the movement (I use the Top for my examples). At any moment in time (ie. a Frame) a different value is returned by the easing Function. Think of the Functions as waves, indeed if you examine the output of the Function using the Debug.Print statements included you can see how the values turn into the numeric waves - these values can also be ploted on a Chart. It is these wave-like values and the Function algorithms behind them that provide the 'Bounce' or 'Elasticity' for some nice little effects

The reason I ported these Functions is to use some of the effects with UserForms but they can be applied to any Object

Don't want to Buy but want to Have a go at Porting the Functions Yourself?

The easing Functions these days are all wrapped up in easy to handle scripts like jquery.easing.js. You can ignore the 'x' parameter. As and when I port more easing Functions I will add them to the Download, so if you Purchase you will get any subsequent amends to this Software. Here is a link to an easing Functions Cheat Sheet

CHANGELOG

20.10.2016 - (Version 1) released