UNPKG

1.04 kBJavaScriptView Raw
1var clone = require("./clone");
2
3module.exports = function splitFilmStripAnimations(animations) {
4 Object.keys(animations).forEach(function(key) {
5 var firstFrame = animations[key][0];
6 if (firstFrame.filmstripFrames) {
7 splitFilmStripAnimation(animations, key);
8 }
9 });
10};
11
12function splitFilmStripAnimation(animations, key) {
13 var firstFrame = animations[key][0];
14 if (firstFrame.properties.image.sourceWidth % firstFrame.filmstripFrames != 0) {
15 console.warn("The \"" + key + "\" animation is " + firstFrame.properties.image.sourceWidth + " pixels wide and that is is not evenly divisible by " + firstFrame.filmstripFrames + " frames.");
16 }
17 for (var i = 0; i < firstFrame.filmstripFrames; i++) {
18 var frameWidth = firstFrame.properties.image.sourceWidth / firstFrame.filmstripFrames;
19 var newFrame = clone(firstFrame);
20 newFrame.properties.image.sourceX = frameWidth * i;
21 newFrame.properties.image.sourceWidth = frameWidth;
22 animations[key].push(newFrame);
23 }
24 animations[key].splice(0,1);
25}