Créez une instance PIXI.BitmapText avec ce texte "1111111111111111111111111". Rappelez-vous sa largeur, puis changez le texte en "1" et vérifiez à nouveau la largeur, ce sera la même chose.
Ce problème existe lorsque l'instance PIXI.BitmapText a l'instance PIXI.Mesh comme enfants avec plus de 199 sommets
https://pixijs.io/examples/#/text/bitmap -text.js
Collez ce code:
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
version : 5.3.2Voici une version de JSFiddle:
https://jsfiddle.net/bigtimebuddy/syt6gdpb/
Voici une version de JSFiddle:
https://jsfiddle.net/bigtimebuddy/syt6gdpb/
Si je comprends bien, ce problème se pose parce que nous ne nettoyons pas la mémoire tampon des sommets lorsque le nouveau texte est plus petit que le précédent.
Vérifiez comment cette condition fonctionne
La remise à zéro du tampon de sommets résoudrait probablement ce problème, s'il n'est pas nouvellement créé.
Commentaire le plus utile
Si je comprends bien, ce problème se pose parce que nous ne nettoyons pas la mémoire tampon des sommets lorsque le nouveau texte est plus petit que le précédent.
Vérifiez comment cette condition fonctionne