diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index 400f847..328badc 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -344,6 +344,8 @@ BaseTexture.prototype.dispose = function () { this.emit('dispose', this); + + this._glTextures.length = 0; }; /** diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index 400f847..328badc 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -344,6 +344,8 @@ BaseTexture.prototype.dispose = function () { this.emit('dispose', this); + + this._glTextures.length = 0; }; /** diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index 5573caf..28794de 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -234,13 +234,23 @@ */ Texture.prototype.destroy = function (destroyBase) { - if (destroyBase) + if (this.baseTexture) { - this.baseTexture.destroy(); + if (destroyBase) + { + this.baseTexture.destroy(); + } + + this.baseTexture.off('update', this.onBaseTextureUpdated); + this.baseTexture.off('loaded', this.onBaseTextureLoaded); + + this.baseTexture = null; } - this.baseTexture.off('update', this.onBaseTextureUpdated); - this.baseTexture.off('loaded', this.onBaseTextureLoaded); + this._frame = null; + this._uvs = null; + this.trim = null; + this.crop = null; this.valid = false; }; diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index 400f847..328badc 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -344,6 +344,8 @@ BaseTexture.prototype.dispose = function () { this.emit('dispose', this); + + this._glTextures.length = 0; }; /** diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index 5573caf..28794de 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -234,13 +234,23 @@ */ Texture.prototype.destroy = function (destroyBase) { - if (destroyBase) + if (this.baseTexture) { - this.baseTexture.destroy(); + if (destroyBase) + { + this.baseTexture.destroy(); + } + + this.baseTexture.off('update', this.onBaseTextureUpdated); + this.baseTexture.off('loaded', this.onBaseTextureLoaded); + + this.baseTexture = null; } - this.baseTexture.off('update', this.onBaseTextureUpdated); - this.baseTexture.off('loaded', this.onBaseTextureLoaded); + this._frame = null; + this._uvs = null; + this.trim = null; + this.crop = null; this.valid = false; }; diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index eddb52e..d8fbd7d 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -32,6 +32,8 @@ { core.Container.call(this); + style = style || {}; + /** * The width of the overall text, different from fontSize, * which is defined in the style object @@ -144,7 +146,7 @@ }, set: function (value) { - this._font.align = value; + this._font.align = value || 'left'; this.dirty = true; } @@ -163,6 +165,10 @@ }, set: function (value) { + if (!value) { + return; + } + if (typeof value === 'string') { value = value.split(' ');