#2d-game #graphics #2d-graphics #game

aseprite

A crate to load files from the aseprite sprite editor

4 releases

Uses old Rust 2015

0.1.3 Jun 3, 2017
0.1.2 Apr 27, 2017
0.1.1 Apr 25, 2017
0.1.0 Apr 25, 2017

#221 in Data formats

Download history 67/week @ 2025-10-16 57/week @ 2025-10-23 35/week @ 2025-10-30 31/week @ 2025-11-06 41/week @ 2025-11-13 46/week @ 2025-11-20 39/week @ 2025-11-27 36/week @ 2025-12-04 27/week @ 2025-12-11 36/week @ 2025-12-18 31/week @ 2025-12-25 35/week @ 2026-01-01 7/week @ 2026-01-08 45/week @ 2026-01-15 35/week @ 2026-01-22 36/week @ 2026-01-29

129 downloads per month
Used in 7 crates (via castle-game)

MIT license

8KB
185 lines

aseprite

A crate for loading data from the aseprite sprite editor. Should go along well with the tiled crate, I hope!

It does not load any actual images, just the metadata. Currently it only loads aseprite's JSON export format, and only when exported in the "json-array" format (which isn't the default for some reason but appears much more sensible than the alternative).

Automatically exporting a sprite to a given format is documented here: https://www.aseprite.org/docs/cli/

Docs

Documentation is on docs.rs

Example

Export sprite sheet with:

aseprite -b boonga.ase --sheet boonga.png --format json-array --list-tags --list-layers --data boonga.json

Then write a program to load it:

extern crate serde_json;
extern crate aseprite;

use std::fs::File;

fn main() {
   let file = File::open("boonga.json").unwrap();
   let spritesheet: aseprite::SpritesheetData = serde_json::from_reader(file).unwrap();
   println!("Spritesheet is {:?}", spritesheet);
}

Dependencies

~0.6–1.5MB
~33K SLoC