UNPKG

pixelbutler

Version:

Low-res bitmap render engine for big screens

35 lines (34 loc) 1.47 kB
'use strict'; var Bitmap = require('../core/Bitmap'); var SpriteSheet = require('../core/SpriteSheet'); var ImageDataLoader = require('./ImageDataLoader'); var SpriteSheetLoader = (function () { function SpriteSheetLoader(url, opts, useAlpha) { if (typeof useAlpha === "undefined") { useAlpha = false; } this.url = url; this.opts = opts; this.useAlpha = useAlpha; } SpriteSheetLoader.prototype.load = function (callback) { var _this = this; new ImageDataLoader(this.url).load(function (err, image) { if (err) { callback(err, null); return; } var outerMargin = (_this.opts.outerMargin || 0); var innerMargin = (_this.opts.innerMargin || 0); var sheet = new SpriteSheet(_this.opts.spritesX, _this.opts.spritesY); for (var iy = 0; iy < _this.opts.spritesY; iy++) { for (var ix = 0; ix < _this.opts.spritesX; ix++) { var x = outerMargin + ix * (_this.opts.sizeX + innerMargin); var y = outerMargin + iy * (_this.opts.sizeY + innerMargin); sheet.addSprite(Bitmap.clipFromData(image.data, image.width, image.height, 4, x, y, _this.opts.sizeX, _this.opts.sizeY, _this.useAlpha)); } } callback(null, sheet); }); }; return SpriteSheetLoader; })(); module.exports = SpriteSheetLoader;