cdf
Version:
A library for creating oldschool demo-like animations with JavaScript
28 lines (23 loc) • 762 B
JavaScript
var utils = require('utils');
var __animate_repeats = 1;
// TODO: Rewrite
var animate = function (callback, repeatsPerFrame, everyRealFrameCallback) {
callback = callback.__animate || callback;
repeatsPerFrame = repeatsPerFrame || 1;
var frameNum = 0;
var nextFrame = function () {
__animate_repeats = repeatsPerFrame;
var repeatNum = repeatsPerFrame;
frameNum++;
while(repeatNum--) {
callback.call(window, frameNum * repeatsPerFrame + repeatsPerFrame - repeatNum, frameNum);
}
if(typeof everyRealFrameCallback === 'function') {
everyRealFrameCallback.call(window, frameNum * repeatsPerFrame, frameNum);
}
utils.frame(nextFrame);
__animate_repeats = 1;
};
nextFrame();
};
module.exports = animate;