simple_animation_loop

1.0.2 • Public • Published

Simple Animation Loop

Simple rAF wrapper to queue animations. This also provides a basic reimplementation of browser timer functions (setInterval and setTimeout) to prevent timers from affecting animation performance.

installation:

npm install --save simple_animation_loop

Documentation:

AnimationLoop

AnimationLoop

Kind: global class

new AnimationLoop()

The animation loop provides a wrapper for requestAnimationFrame and a reimplementation of browser timers. It can schedule multiple callbacks and help maximize performance for in browser animations.

animationLoop.start() ⇒ AnimationLoop

Starts the main animation loop and prevents multiple updates to requestAnimationFrame.

Kind: instance method of AnimationLoop
Returns: AnimationLoop - this

animationLoop.stop() ⇒ AnimationLoop

Stops the main animation loop by calling cancelAnimationFrame.

Kind: instance method of AnimationLoop
Returns: AnimationLoop - this

animationLoop.addAnimation(animation) ⇒ function

Adds a callback to the update loop and prevents the same callback from being added twice.

Kind: instance method of AnimationLoop
Returns: function - animation - callback passed in

Param Type Description
animation function callback that will be added to the main update loop.

animationLoop.removeAnimation(animation) ⇒ undefined

Removes a callback from the current update loop and next scheduled loop.

Kind: instance method of AnimationLoop
Returns: undefined - undefined

Param Type Description
animation function callback that will be added to the main update loop.

animationLoop.setAnimationTimeout(animation, delay) ⇒ function

Mimics browser's setTimeout basic functionality. Prevents browser timer from degrading performance of the main update loop. It is recommended to use this over setTimeout after .start() has been called.

Kind: instance method of AnimationLoop
Returns: function - timeout callback - returned so it can be canceled via removeAnimation()

Param Type Description
animation function A function to be executed after the timer expires.
delay Number The time, in milliseconds (thousandths of a second), the timer should wait before the specified function is executed.

animationLoop.setAnimationInterval(animation, delay) ⇒ function

Mimics browser's setInterval basic functionality. Prevents browser timer from degrading performance of the main update loop. It is recommended to use this over setInternal after .start() has been called.

Kind: instance method of AnimationLoop
Returns: function - interval callback - returned so it can be canceled via removeAnimation()

Param Type Description
animation function A function to be executed every delay milliseconds.
delay Number The time, in milliseconds (thousandths of a second), the timer should delay in between executions of the specified function.

examples of usage:


Please submit any issues via GitHub.

@morgantheplant

Package Sidebar

Install

npm i simple_animation_loop

Weekly Downloads

0

Version

1.0.2

License

ISC

Last publish

Collaborators

  • morgantheplant