@solaldr/spritesheet
v1.0.0
Published
[](https://github.com/SolalDR/spritesheet/actions?workflow=test) [](https://githu
Downloads
4
Readme
spritesheet
Description
This library is an easy and customizable way to generate optimized spritesheet through a CLI.
Features
- [x] JSON map generation (store all the images coords)
- [x] Fast images processing using
sharp - [x] Space optimisation: optimize space in the spritesheet to store the more images possible
- [x] Auto-resize : if there isn't enough space in the spritesheet the chunk will resize down until fit perfectly in the spritesheet
- [x] Pass multiple input to get multiples sprites in the same texture
- [ ] (Incomming) Multiple textures generation
Installation
npm i -g @solaldr/spritesheetCLI
Basic use :
spritesheet --input ./myimagesdir| option |type | description |default|
|------------------------------|------|--------------------------------------------|-----------
| --w, --width |number| Width of the output spritesheet file |2048
| --h, --height |number| Height of the output spritesheet file |2048
| --chunk.width, --c.w |number| Width of a single chunk |auto (spread amoung disponible space)
| --chunk.height, --c.h |number| Height of a single chunk |auto (spread amoung disponible space)
| --flexibility |number| Resize factor of a chunk |auto (spread amoung disponible space)
| --output |string| Output name of the spritesheet |output
| --input |string| Path to parent directory of target images |
| --name |string| Name of the spritesheet |
Docs
--input
The input parameter describle the way images will be inported.
--output
The output parameter describle in which directory the spritesheet will be generated.
--name
The name of the spritesheet {name}.json
--width, --w
Represent the width (in pixels) of the output spritesheet. If width is undefined, width will calculated automatically
Notice: A power of two is recommanded
--height, --h
Represent the height(px) of the output spritesheet. If height is undefined, height will be equal to the width value
Notice: A power of two is recommanded
--chunk.width, --c.w
Each image passed as an input in the CLI create a single chunk. A chunk is defined by the following properties: width, height, x, y
Represent the width of a chunk. If this parameter is undefined, the computed width will be constrained by the spritesheet dimensions.
For instance, if a spritesheet has dimensions 2048x2048, However the number of chunks, they will be resized automatically to fit inside this dimensions. See --flexibility option for more informations.
--chunk.height, --c.h
Represent the height of a chunk. See chunk.width behavior
--flexibility
The capacity of a chunk to resize in order to fit inside spritesheet dimensions. The parameter is ranged between 0 and 1.
Example: If --flexibility 0.5 a chunk will be able to resize down, up to 50% of his width
By default:
- If
chunk.widthorchunk.heightid defined,flexibilitywill be equal to0The chunks will not resize - If neither
chunk.widthorchunk.heightis defined,flexibilitywill be equal to1The chunks will resize to fit inside the spritesheet
How to contribute
Install dependencies
npm installInstall and init commitizen
npm install commitizen -gcommitizen init cz-conventional-changelog --save-dev --save-exactnpm run devCommit your work
npm run commitLicense
MIT.
