Created
May 16, 2014 15:57
-
-
Save japboy/13f5d4a6487e29d0f3fc to your computer and use it in GitHub Desktop.
Grunt task to generate sprite sheets using Spritesheet.js for PIXI.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module.exports = (grunt) -> | |
grunt.initConfig | |
sprite: | |
common: | |
files: | |
'assets/img': 'assets/img/common/*.*' | |
options: | |
name: 'common' | |
grunt.registerMultiTask 'sprite', 'Automate spritesheet-js task', -> | |
fs = require 'fs' | |
path = require 'path' | |
jsonminify = require 'jsonminify' | |
spritesheetJs = require 'spritesheet-js' | |
done = @async() | |
options = @options { format: 'pixi.js', name: 'sprite', trim: true } | |
error = (err) -> | |
grunt.log.error err.message | |
done false | |
for file in @files | |
src = file.src.filter (filepath) -> | |
if grunt.file.exists filepath | |
return true | |
else | |
grunt.log.error "Source file #{filepath} not found." | |
return false | |
options.path = file.dest | |
spritesheetJs src, options, (err) -> | |
return error err if err and err instanceof Error | |
filename = "#{file.dest}/#{options.name}.json" | |
fs.readFile filename, { encoding: 'utf8' }, (err, data) -> | |
return error err if err and err instanceof Error | |
data = JSON.minify data | |
fs.writeFile filename, data, (err) -> | |
return error err if err and err instanceof Error | |
grunt.log.writeln 'Spritesheet generated.' | |
done true |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment