Создайте экземпляр PIXI.BitmapText с этим текстом «1111111111111111111111111». Запомните его ширину, затем измените текст на «1» и снова проверьте ширину, она будет такой же.
Эта проблема возникает, когда экземпляр PIXI.BitmapText имеет экземпляр PIXI.Mesh в качестве дочерних элементов с более чем 199 вершинами.
https://pixijs.io/examples/#/text/bitmap -text.js
Вставьте этот код:
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
версия : 5.3.2Вот версия JSFiddle:
https://jsfiddle.net/bigtimebuddy/syt6gdpb/
Вот версия JSFiddle:
https://jsfiddle.net/bigtimebuddy/syt6gdpb/
Насколько я понимаю, эта проблема возникает из-за того, что мы не очищаем буфер вершин, когда новый текст меньше предыдущего.
Проверьте, как работает это условие
Вероятно, обнуление буфера вершин решило бы эту проблему, если бы он не был создан заново.
Самый полезный комментарий
Насколько я понимаю, эта проблема возникает из-за того, что мы не очищаем буфер вершин, когда новый текст меньше предыдущего.
Проверьте, как работает это условие