eXAAAXe писал(а):
Во Флеш можно было настроить свечение тексту, как этот эффект сделать в Phaser для текста?
Нужен шейдер (фильтр)
Можно приготовить так:
(Шейдер взят тут
https://gist.github.com/MatthewBarker/0 ... 577c6d0188)
Код:
var style = { font: "100px Arial", fill: "#ff0044", align: "center" };
var text = this.game.add.text(this.game.world.centerX, this.game.world.centerY, "Это работает!", style);
text.anchor.set(0.5);
var fragmentSrc = [
'precision lowp float;',
'varying vec2 vTextureCoord;',
'varying vec4 vColor;',
'uniform sampler2D uSampler;',
'void main() {',
'vec4 sum = vec4(0);',
'vec2 texcoord = vTextureCoord;',
'for(int xx = -4; xx <= 4; xx++) {',
'for(int yy = -3; yy <= 3; yy++) {',
'float dist = sqrt(float(xx*xx) + float(yy*yy));',
'float factor = 0.0;',
'if (dist == 0.0) {',
'factor = 2.0;',
'} else {',
'factor = 2.0/abs(float(dist));',
'}',
'sum += texture2D(uSampler, texcoord + vec2(xx, yy) * 0.002) * factor;',
'}',
'}',
'gl_FragColor = sum * 0.025 + texture2D(uSampler, texcoord);',
'}'
];
var filter = new Phaser.Filter(this.game, null, fragmentSrc);
text.filters = [ filter ];
Можно код оформить более грамотно, но смотри сам, даю ссылку.
Больше примеров и вариантов подключения шейдеров тут:
https://phaser.io/examples/v2/category/filters