Crie uma instância PIXI.BitmapText com este texto "1111111111111111111111111". Lembre-se de sua largura, depois mude o texto para "1" e verifique novamente a largura, ela será a mesma.
Este problema existe quando a instância PIXI.BitmapText tem a instância PIXI.Mesh como filhos com mais de 199 vértices
https://pixijs.io/examples/#/text/bitmap -text.js
Cole este código:
const app = new PIXI.Application({ backgroundColor: 0x1099bb });
document.body.appendChild(app.view);
app.loader
.add('desyrel', 'examples/assets/bitmap-font/desyrel.xml')
.load(onAssetsLoaded);
function onAssetsLoaded() {
const bitmapFontText = new PIXI.BitmapText('11111111111111111111111111111111111111111111111', { font: '55px Desyrel'});
console.log(bitmapFontText.width);
bitmapFontText.x = 50;
bitmapFontText.y = 200;
bitmapFontText.text = '1';
console.log(bitmapFontText.width);
app.stage.addChild(bitmapFontText);
}
pixi.js
versão : 5.3.2Aqui está uma versão do JSFiddle:
https://jsfiddle.net/bigtimebuddy/syt6gdpb/
Aqui está uma versão do JSFiddle:
https://jsfiddle.net/bigtimebuddy/syt6gdpb/
Pelo que entendi, esse problema surge porque não limpamos o buffer de vértices quando o novo texto é menor do que o anterior.
Verifique como esta condição funciona
Provavelmente zerar o buffer de vértice resolveria o problema, se não fosse criado recentemente.
Comentários muito úteis
Pelo que entendi, esse problema surge porque não limpamos o buffer de vértices quando o novo texto é menor do que o anterior.
Verifique como esta condição funciona