setRegion(region) {
		// set the source texture for the given region
		this.image = this.source.getTexture(region);
		// set the sprite offset within the texture
		this.current.offset.setV(region.offset);
		// set angle if defined
		this.current.angle = typeof region.angle === "number" ? region.angle : 0;
		// update the default "current" size
		this.width = this.current.width = region.width;
		this.height = this.current.height = region.height;
		// set global anchortPoint if defined
		if (region.anchorPoint) {
			this.anchorPoint.setMuted(
				this._flip.x && region.trimmed === true
					? 1 - region.anchorPoint.x
					: region.anchorPoint.x,
				this._flip.y && region.trimmed === true
					? 1 - region.anchorPoint.y
					: region.anchorPoint.y,
			);
		}
		// update the sprite bounding box
		this.updateBounds();
		this.isDirty = true;
		return this;
	}
change the current texture atlas region for this sprite
@see Texture.getRegion
@param {object} region - typically returned through me.Texture.getRegion()
@returns {Sprite} Reference to this object for method chaining
@example
// change the sprite to "shadedDark13.png";
mySprite.setRegion(mytexture.getRegion("shadedDark13.png"));