Expanding BitmapData

This commit is contained in:
photonstorm
2013-11-17 04:33:16 +00:00
parent ba6863bdf5
commit 7ad4164e3a
7 changed files with 1065 additions and 119 deletions
File diff suppressed because it is too large Load Diff
+2 -7
View File
@@ -280,18 +280,13 @@ Phaser.GameObjectFactory.prototype = {
* A BitmapData object which can be manipulated and drawn to like a traditional Canvas object and used to texture Sprites.
*
* @method Phaser.GameObjectFactory#bitmapData
* @param {string} [key] - A key the BitmapData will use when added to the Phaser.Cache. If none is given a UUID is generated.
* @param {number} [width=256] - The width of the BitmapData in pixels.
* @param {number} [height=256] - The height of the BitmapData in pixels.
* @return {Phaser.BitmapData} The newly created BitmapData object.
*/
bitmapData: function (key, width, height) {
bitmapData: function (width, height) {
// var bmd = new Phaser.BitmapData(this.game, key, width, height);
// return this.game.cache.addBitmapData(bmd.name, bmd);
return this.world.add(new Phaser.BitmapData(this.game, x, y, width, height, tileset, tilemap, layer));
return new Phaser.BitmapData(this.game, width, height);
}
+11 -1
View File
@@ -636,6 +636,11 @@ Phaser.Sprite.prototype.resetCrop = function() {
*/
Phaser.Sprite.prototype.postUpdate = function() {
if (this.key instanceof Phaser.BitmapData && this.key._dirty)
{
this.key.render();
}
if (this.exists)
{
// The sprite is positioned in this call, after taking into consideration motion updates and collision
@@ -669,7 +674,7 @@ Phaser.Sprite.prototype.postUpdate = function() {
*
* @method Phaser.Sprite#loadTexture
* @memberof Phaser.Sprite
* @param {string|Phaser.RenderTexture|PIXI.Texture} key - This is the image or texture used by the Sprite during rendering. It can be a string which is a reference to the Cache entry, or an instance of a RenderTexture or PIXI.Texture.
* @param {string|Phaser.RenderTexture|Phaser.BitmapData|PIXI.Texture} key - This is the image or texture used by the Sprite during rendering. It can be a string which is a reference to the Cache entry, or an instance of a RenderTexture, BitmapData or PIXI.Texture.
* @param {string|number} frame - If this Sprite is using part of a sprite sheet or texture atlas you can specify the exact frame to use by giving a string or numeric index.
*/
Phaser.Sprite.prototype.loadTexture = function (key, frame) {
@@ -680,6 +685,11 @@ Phaser.Sprite.prototype.loadTexture = function (key, frame) {
{
this.currentFrame = this.game.cache.getTextureFrame(key.name);
}
else if (key instanceof Phaser.BitmapData)
{
this.setTexture(key.texture);
this.currentFrame = key.textureFrame;
}
else if (key instanceof PIXI.Texture)
{
this.currentFrame = frame;