@excaliburjs/plugin-aseprite
TypeScript icon, indicating that this package has built-in type declarations

0.29.0 • Public • Published

Aseprite Plugin For Excalibur

This extension adds support for Aseprite SpriteSheets and Animations exported to json or the native .aseprite file format.

  • Supports RGBA, Grayscale, and Indexed Sprites!
  • Supports opacity on cells and layers!
  • Supports tagged animations!
> npm install @excaliburjs/plugin-aseprite
  1. Use the native .aseprite file format or using export json the aseprite cli or through the UI.

  2. Load the Aseprite resource and voila ✨

  • Use AsepriteResource.getAnimation(name) to retrieve animations by the name in aseprite
  • Use AsepriteResource.getSpriteSheet() to get the equivalent Excalibur SpriteSheet

Example:

import { AsepriteResource } from "@excaliburjs/plugin-aseprite";

const game = new Engine({
    width: 600,
    height: 400,
    displayMode: DisplayMode.FitScreen
});

// Native
const asepriteSpriteSheet = new AsepriteResource('./beetle.aseprite');
// Or JSON export
// const asepriteSpriteSheet = new AsepriteResource('./beetle.json');

const loader = new Loader([asepriteSpriteSheet]);
game.start(loader).then(() => {

    const anim = asepriteSpriteSheet.getAnimation('Loop');
    const actor = new Actor({pos: vec(100, 100)});
    actor.graphics.use(anim);
    
    game.currentScene.add(actor);
});

Example running

Example exporting JSON in the UI

Export as JSON in Aseprite

Currently unsupported in the Native format

PRs welcome to address!

  • Layer blend modes
  • Tilesets
  • User Data
  • External files
  • Color Profiles

Dependencies (1)

Dev Dependencies (18)

Package Sidebar

Install

npm i @excaliburjs/plugin-aseprite

Weekly Downloads

27

Version

0.29.0

License

BSD-2-Clause

Unpacked Size

850 kB

Total Files

21

Last publish

Collaborators

  • jedeen
  • eonarheim
  • kamranayub
  • alanag13