API Reference
This document provides a detailed reference for the public API of tween.js.
Main Exports
These functions are exported from the main package entry point.
update(time?: number, preserve?: boolean): void
Updates all tweens in the main group. time
is the current time in milliseconds. If not provided, performance.now()
is used. preserve
is a deprecated parameter.
getAll(): Tween[]
Returns an array of all tweens in the main group.
removeAll(): void
Removes all tweens from the main group.
add(tween: Tween): void
Adds a tween to the main group.
remove(tween: Tween): void
Removes a tween from the main group.
Tween<T>
Class
The core class for creating an animation.
constructor(object: T, group?: Group | true)
Creates a new tween.
* object
: The object whose properties you want to animate.
* group
: An optional Group
instance to add this tween to. Passing true
adds it to the default main group (deprecated).
.to(target: object, duration?: number): this
Defines the target state of the animation.
* target
: An object with the final properties and values.
* duration
: The duration of the animation in milliseconds (default: 1000
).
.start(time?: number, overrideStartingValues?: boolean): this
Starts the tween.
* time
: The start time in milliseconds. Defaults to the current time.
* overrideStartingValues
: If true
, the tween will start from the current values of the object, not from the values at creation time.
.startFromCurrentValues(time?: number): this
Alias for .start(time, true)
.
.stop(): this
Stops the tween. The onStop
callback is fired.
.end(): this
Immediately stops the tween and sets the object's properties to their final values. The onComplete
callback is fired.
.pause(time?: number): this
Pauses the tween. The animation can be resumed with .resume()
.
.resume(time?: number): this
Resumes a paused tween.
.stopChainedTweens(): this
Stops all tweens that were chained from this tween.
.chain(...tweens: Tween[]): this
Chains one or more tweens to start after this one completes.
.delay(amount: number): this
Sets a delay in milliseconds before the tween starts.
.repeat(times: number): this
Sets the number of times the tween should repeat after the first run. Use Infinity
for endless repetition.
.repeatDelay(amount: number): this
Sets a delay in milliseconds between repetitions.
.yoyo(yoyo: boolean): this
If true
, the tween will reverse direction on every repetition. Requires .repeat()
to be set.
.easing(easingFunction: Function): this
Specifies the easing function to use. See the Easing
object below.
.interpolation(interpolationFunction: Function): this
Specifies the interpolation algorithm for array-based animations. See the Interpolation
object.
.onStart(callback: (object: T) => void): this
Sets a callback that fires once when the tween begins (after any delay).
.onEveryStart(callback: (object: T) => void): this
Sets a callback that fires every time the tween begins (including repeats).
.onUpdate(callback: (object: T, elapsed: number) => void): this
Sets a callback that fires on every animation frame.
.onRepeat(callback: (object: T) => void): this
Sets a callback that fires when a repetition starts.
.onComplete(callback: (object: T) => void): this
Sets a callback that fires when the tween completes normally.
.onStop(callback: (object: T) => void): this
Sets a callback that fires when the tween is explicitly stopped.
Group
Class
A class for managing a collection of tweens.
constructor(...tweens: Tween[])
Creates a new group and optionally adds initial tweens.
.getAll(): Tween[]
Returns an array of all tweens in this group.
.removeAll(): void
Removes all tweens from this group.
.add(tween: Tween): void
Adds a tween to this group.
.remove(tween: Tween): void
Removes a tween from this group.
.update(time?: number): void
Updates all tweens within this group.
Easing
Object
A collection of built-in easing functions.
Easing.Linear.None
Easing.Quadratic.In
,Easing.Quadratic.Out
,Easing.Quadratic.InOut
Easing.Cubic.In
,Easing.Cubic.Out
,Easing.Cubic.InOut
Easing.Quartic.In
,Easing.Quartic.Out
,Easing.Quartic.InOut
Easing.Quintic.In
,Easing.Quintic.Out
,Easing.Quintic.InOut
Easing.Sinusoidal.In
,Easing.Sinusoidal.Out
,Easing.Sinusoidal.InOut
Easing.Exponential.In
,Easing.Exponential.Out
,Easing.Exponential.InOut
Easing.Circular.In
,Easing.Circular.Out
,Easing.Circular.InOut
Easing.Elastic.In
,Easing.Elastic.Out
,Easing.Elastic.InOut
Easing.Back.In
,Easing.Back.Out
,Easing.Back.InOut
Easing.Bounce.In
,Easing.Bounce.Out
,Easing.Bounce.InOut
Interpolation
Object
A collection of algorithms for array interpolation.
Interpolation.Linear
Interpolation.Bezier
Interpolation.CatmullRom