Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Easing functions implemented in lua (Functions from )
Latest commit da340c9 @EmmanuelOga Merge pull request #4 from zacharyw/master
Updated to work with latest version of Love

Easing Library

This is a lua port of the Robert Penner's equations for easing. You can find much more information about it on

This library was based off:

However, only the easing functions are included, and not any kind of tweening helpers.


Requiring the easing library returns a table which contains all the different functions.

local easingFunctions = require("easing")

outInBounce = easingFunctions.outInBounce

-- All easing functions take these parameters:
-- t = time     should go from 0 to duration
-- b = begin    value of the property being ease.
-- c = change   ending value of the property - beginning value of the property
-- d = duration

-- Some functions allow additional modifiers, like the elastic functions
-- which also can receive an amplitud and a period parameters (defaults
-- are included)

beginVal = 0
endVal = 1
change = endVal - beginVal
duration = 1

print(outInBounce(0             , beginVal, change, duration)) --> 0
print(outInBounce(duration / 4  , beginVal, change, duration)) --> 0.3828125
print(outInBounce(duration / 2  , beginVal, change, duration)) --> 0.5
print(outInBounce(duration / 3/4, beginVal, change, duration)) --> 0.10503472222222
print(outInBounce(duration      , beginVal, change, duration)) --> 1


There is a plain lua example and an interactive one based on the LÖVE game library. To run the examples you'll need to get the engine from Once you have the love executable, move into the examples/love directory and run "love ."

love2d running easing examples

Running Tests

To run the tests you'll need telescope. From the library's root directory, run:

▸ tsc tests/easing_tests.lua
80 tests 80 passed 80 assertions 0 failed 0 errors 0 unassertive 0 pending


Copy the documentation from the tweener source and convert it to luadoc.


Like the tweener library, easing is licensed under the MIT license.


  • Tweener authors
  • Yuichi Tateno
  • Emmanuel Oga


Something went wrong with that request. Please try again.