pixi-spine
Spine implementation for pixi v3
Usage
Browserify
If you use browserify you can use pixi-spine like this:
var PIXI = require('pixi.js'),
spine = require('pixi-spine');
PIXI.loader
.add('spineCharacter', 'spine-data-1/HERO.json');
.load(function (loader, resources) {
var animation = new spine.Spine(resources.spineCharacter.spineData);
});
Prebuilt Files
If you are just including the built files, pixi spine adds itself to a pixi namespace:
PIXI.loader
.add('spineCharacter', 'spine-data-1/HERO.json');
.load(function (loader, resources) {
var animation = new PIXI.spine.Spine(resources.spineCharacter.spineData);
});
How to use spine events
animation.state.onEvent = function(i, event) {
console.log('event fired!', i, event);
};
How to choose resolution
Use with pixi-compressed-textures.js
PIXI.loader.before(PIXI.compressedTextures.extensionChooser(["@2x.atlas"]));
var options = { metadata: { spineMetadata: { choice: ["@.5x.atlas", "@2x.atlas"] } } };
PIXI.loader
.add('spineCharacter', 'spine-data-1/HERO.json', options);
.load(function (loader, resources) {
var animation = new PIXI.spine.Spine(resources.spineCharacter.spineData);
});
How to use compressed textures
PIXI.loader.before(PIXI.compressedTextures.extensionChooser(["@2x.atlas", ".dds"]));
var options = { metadata: { spineMetadata: { choice: ["@.5x.atlas", "@2x.atlas"] }, imageMetadata: { choice: [".dds", ".pvr"] } } };
PIXI.loader
.add('spineCharacter', 'spine-data-1/HERO.json', options);
.load(function (loader, resources) {
var animation = new PIXI.spine.Spine(resources.spineCharacter.spineData);
});
Building
You will need to have node and gulp setup on your machine.
Then you can install dependencies and build:
npm i && npm run build
That will output the built distributables to ./dist
.
Typescript
Typescript definition file for pixi-spine is available in pixi-typescript