1.0.2 • Published 7 years ago

simple_animation_loop v1.0.2

Weekly downloads
4
License
ISC
Repository
github
Last release
7 years ago

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

ParamTypeDescription
animationfunctioncallback 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

ParamTypeDescription
animationfunctioncallback 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()

ParamTypeDescription
animationfunctionA function to be executed after the timer expires.
delayNumberThe 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()

ParamTypeDescription
animationfunctionA function to be executed every delay milliseconds.
delayNumberThe 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