Added phaser build and hellophaser sample
This commit is contained in:
99
src/pixi/loaders/SpriteSheetLoader.js
Normal file
99
src/pixi/loaders/SpriteSheetLoader.js
Normal file
@@ -0,0 +1,99 @@
|
||||
/**
|
||||
* @author Mat Groves http://matgroves.com/ @Doormat23
|
||||
*/
|
||||
|
||||
/**
|
||||
* The sprite sheet loader is used to load in JSON sprite sheet data
|
||||
* To generate the data you can use http://www.codeandweb.com/texturepacker and publish in the 'JSON' format
|
||||
* There is a free version so thats nice, although the paid version is great value for money.
|
||||
* It is highly recommended to use Sprite sheets (also know as a 'texture atlas') as it means sprites can be batched and drawn together for highly increased rendering speed.
|
||||
* Once the data has been loaded the frames are stored in the PIXI texture cache and can be accessed though PIXI.Texture.fromFrameId() and PIXI.Sprite.fromFrameId()
|
||||
* This loader will load the image file that the Spritesheet points to as well as the data.
|
||||
* When loaded this class will dispatch a 'loaded' event
|
||||
*
|
||||
* @class SpriteSheetLoader
|
||||
* @uses EventTarget
|
||||
* @constructor
|
||||
* @param url {String} The url of the sprite sheet JSON file
|
||||
* @param crossorigin {Boolean} Whether requests should be treated as crossorigin
|
||||
*/
|
||||
PIXI.SpriteSheetLoader = function (url, crossorigin) {
|
||||
/*
|
||||
* i use texture packer to load the assets..
|
||||
* http://www.codeandweb.com/texturepacker
|
||||
* make sure to set the format as 'JSON'
|
||||
*/
|
||||
PIXI.EventTarget.call(this);
|
||||
|
||||
/**
|
||||
* The url of the bitmap font data
|
||||
*
|
||||
* @property url
|
||||
* @type String
|
||||
*/
|
||||
this.url = url;
|
||||
|
||||
/**
|
||||
* Whether the requests should be treated as cross origin
|
||||
*
|
||||
* @property crossorigin
|
||||
* @type Boolean
|
||||
*/
|
||||
this.crossorigin = crossorigin;
|
||||
|
||||
/**
|
||||
* [read-only] The base url of the bitmap font data
|
||||
*
|
||||
* @property baseUrl
|
||||
* @type String
|
||||
* @readOnly
|
||||
*/
|
||||
this.baseUrl = url.replace(/[^\/]*$/, '');
|
||||
|
||||
/**
|
||||
* The texture being loaded
|
||||
*
|
||||
* @property texture
|
||||
* @type Texture
|
||||
*/
|
||||
this.texture = null;
|
||||
|
||||
/**
|
||||
* The frames of the sprite sheet
|
||||
*
|
||||
* @property frames
|
||||
* @type Object
|
||||
*/
|
||||
this.frames = {};
|
||||
};
|
||||
|
||||
// constructor
|
||||
PIXI.SpriteSheetLoader.prototype.constructor = PIXI.SpriteSheetLoader;
|
||||
|
||||
/**
|
||||
* This will begin loading the JSON file
|
||||
*
|
||||
* @method load
|
||||
*/
|
||||
PIXI.SpriteSheetLoader.prototype.load = function () {
|
||||
var scope = this;
|
||||
var jsonLoader = new PIXI.JsonLoader(this.url, this.crossorigin);
|
||||
jsonLoader.addEventListener('loaded', function (event) {
|
||||
scope.json = event.content.json;
|
||||
scope.onLoaded();
|
||||
});
|
||||
jsonLoader.load();
|
||||
};
|
||||
|
||||
/**
|
||||
* Invoke when all files are loaded (json and texture)
|
||||
*
|
||||
* @method onLoaded
|
||||
* @private
|
||||
*/
|
||||
PIXI.SpriteSheetLoader.prototype.onLoaded = function () {
|
||||
this.dispatchEvent({
|
||||
type: 'loaded',
|
||||
content: this
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user