Have ideas to improve npm?Join in the discussion! »

@rbxts/easing-functionsTypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

EasingFunctions

A bunch of reuseable Easing Functions, including those from the Material Design specification (Standard, Acceleration, and Deceleration)

These are the available EasingFunctions:

Directionless In Out InOut OutIn
Linear InQuad OutQuad InOutQuad OutInQuad
Spring InCubic OutCubic InOutCubic OutInCubic
SoftSpring InQuart OutQuart InOutQuart OutInQuart
RevBack InQuint OutQuint InOutQuint OutInQuint
RidiculousWiggle InSine OutSine InOutSine OutInSine
Smooth InExpo OutExpo InOutExpo OutInExpo
Smoother InCirc OutCirc InOutCirc OutInCirc
Acceleration InElastic OutElastic InOutElastic OutInElastic
Deceleration InBack OutBack InOutBack OutInBack
Sharp InBounce OutBounce InOutBounce OutInBounce
Standard

Signature:

/**
 * Returns a value between [initialValue, initialValue + changeInValue] or [0, 1] that represents an in-between value
 * along a Bezier curve.
 * @param elapsedTime the time elapsed [0, d]
 * @param initialValue beginning value being interpolated (default = 0)
 * @param changeInValue change in value being interpolated (equivalent to: ending - beginning) (default = 1)
 * @param totalDuration duration interpolation is occurring over (default = 1)
 */
type BasicEasingFunction = (
    elapsedTimenumber,
    initialValuenumber,
    changeInValuenumber,
    totalDurationnumber,
) => number;

Some functions have an extra parameter or two. These will either be the amplitude and period or the overshoot.

Install

npm i @rbxts/easing-functions

DownloadsWeekly Downloads

3

Version

1.1.0

License

ISC

Unpacked Size

19.2 kB

Total Files

4

Last publish

Collaborators

  • avatar