Buat instance PIXI.BitmapText dengan teks ini "1111111111111111111111111". Ingat lebarnya, kemudian ubah teksnya menjadi "1" dan periksa lebarnya lagi, itu akan sama.
Masalah ini terjadi ketika instance PIXI.BitmapText memiliki instance PIXI.Mesh sebagai anak dengan lebih dari 199 simpul
https://pixijs.io/examples/#/text/bitmap -text.js
Tempel kode ini:
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
versi : 5.3.2Ini versi JSFiddle:
https://jsfiddle.net/bigtimebuddy/syt6gdpb/
Ini versi JSFiddle:
https://jsfiddle.net/bigtimebuddy/syt6gdpb/
Seperti yang saya pahami, masalah ini muncul karena kita tidak membersihkan buffer simpul ketika teks baru lebih kecil dari sebelumnya.
Periksa bagaimana kondisi ini bekerja
Mungkin mengosongkan buffer vertex akan memperbaiki masalah ini, jika tidak baru dibuat.
Komentar yang paling membantu
Seperti yang saya pahami, masalah ini muncul karena kita tidak membersihkan buffer simpul ketika teks baru lebih kecil dari sebelumnya.
Periksa bagaimana kondisi ini bekerja