diff --git a/src/gameobjects/bitmaptext/ParseFromAtlas.js b/src/gameobjects/bitmaptext/ParseFromAtlas.js index 41e9384e6..7950f05a9 100644 --- a/src/gameobjects/bitmaptext/ParseFromAtlas.js +++ b/src/gameobjects/bitmaptext/ParseFromAtlas.js @@ -35,7 +35,7 @@ var ParseFromAtlas = function (scene, fontName, textureKey, frameKey, xmlKey, xS { var data = ParseXMLBitmapFont(xml, frame, xSpacing, ySpacing, texture); - scene.sys.cache.bitmapFont.add(fontName, { data: data, texture: textureKey, frame: frameKey }); + scene.sys.cache.bitmapFont.add(fontName, { data: data, texture: textureKey, frame: frameKey, fromAtlas: true }); return true; } diff --git a/src/gameobjects/bitmaptext/dynamic/DynamicBitmapTextCanvasRenderer.js b/src/gameobjects/bitmaptext/dynamic/DynamicBitmapTextCanvasRenderer.js index d194e7e32..3819b9e87 100644 --- a/src/gameobjects/bitmaptext/dynamic/DynamicBitmapTextCanvasRenderer.js +++ b/src/gameobjects/bitmaptext/dynamic/DynamicBitmapTextCanvasRenderer.js @@ -34,7 +34,9 @@ var DynamicBitmapTextCanvasRenderer = function (renderer, src, camera, parentMat camera.addToRenderList(src); - var textureFrame = src.frame; + var textureFrame = src.fromAtlas + ? src.frame + : src.texture.frames['__BASE']; var displayCallback = src.displayCallback; var callbackData = src.callbackData; diff --git a/src/gameobjects/bitmaptext/static/BitmapText.js b/src/gameobjects/bitmaptext/static/BitmapText.js index 4b759040f..f8d26fb8b 100644 --- a/src/gameobjects/bitmaptext/static/BitmapText.js +++ b/src/gameobjects/bitmaptext/static/BitmapText.js @@ -264,6 +264,15 @@ var BitmapText = new Class({ */ this.dropShadowAlpha = 0.5; + /** + * Indicates whether the font texture is from an atlas or not. + * + * @name Phaser.GameObjects.BitmapText#fromAtlas + * @type {boolean} + * @since 3.53.2 + */ + this.fromAtlas = entry.fromAtlas === true; + this.setTexture(entry.texture, entry.frame); this.setPosition(x, y); this.setOrigin(0, 0); @@ -758,6 +767,7 @@ var BitmapText = new Class({ this.fontData = entry.data; this._fontSize = size; this._align = align; + this.fromAtlas = entry.fromAtlas === true; this.setTexture(entry.texture, entry.frame); diff --git a/src/gameobjects/bitmaptext/static/BitmapTextCanvasRenderer.js b/src/gameobjects/bitmaptext/static/BitmapTextCanvasRenderer.js index 455ac593b..97c29c6d5 100644 --- a/src/gameobjects/bitmaptext/static/BitmapTextCanvasRenderer.js +++ b/src/gameobjects/bitmaptext/static/BitmapTextCanvasRenderer.js @@ -34,7 +34,9 @@ var BitmapTextCanvasRenderer = function (renderer, src, camera, parentMatrix) camera.addToRenderList(src); - var textureFrame = src.texture.frames['__BASE']; + var textureFrame = src.fromAtlas + ? src.frame + : src.texture.frames['__BASE']; var chars = src.fontData.chars; var lineHeight = src.fontData.lineHeight;