phaser/v3/src/gameobjects/bitmaptext/static/BitmapText.js

83 lines
1.7 KiB
JavaScript
Raw Normal View History

2017-03-08 22:36:53 +00:00
var Class = require('../../../utils/Class');
var GameObject = require('../../GameObject');
var Components = require('../../../components');
var Render = require('./BitmapTextRender');
2017-03-08 22:36:53 +00:00
var GetBitmapTextSize = require('../GetBitmapTextSize');
var BitmapText = new Class({
Mixins: [
Components.Alpha,
Components.BlendMode,
Components.Origin,
Components.Size,
Components.Texture,
Components.Transform,
Components.RenderPass,
Components.Visible,
Render
],
initialize:
function BitmapText (state, x, y, font, text, size, align)
{
if (text === undefined) { text = ''; }
if (size === undefined) { size = 32; }
if (align === undefined) { align = 'left'; }
GameObject.call(this, state);
this.fontData = this.state.sys.cache.bitmapFont.get(font);
this.text = text;
2017-03-01 17:11:51 +00:00
this.fontSize = size;
this.setTexture(font);
this.setPosition(x, y);
this.setOrigin(0, 0);
this.initRenderPassComponent();
2017-03-01 17:11:51 +00:00
},
setFontSize: function (size)
{
this.fontSize = size;
return this;
},
2017-03-01 17:11:51 +00:00
setText: function (text)
{
this.text = text;
2017-03-01 17:11:51 +00:00
return this;
},
// {
// local: {
// x,
// y,
// width,
// height
// },
// global: {
// x,
// y,
// width,
// height
// }
// }
getTextBounds: function ()
{
// local = the BitmapText based on fontSize and 0x0 coords
// global = the BitmapText, taking into account scale and world position
return GetBitmapTextSize(this);
}
});
module.exports = BitmapText;