Pixi.js: BitmapText largeur après modification du texte

Créé le 22 sept. 2020  ·  3Commentaires  ·  Source: pixijs/pixi.js

Comportement prévisible

Comportement actuel

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.

Solution possible

Ce problème existe lorsque l'instance PIXI.BitmapText a l'instance PIXI.Mesh comme enfants avec plus de 199 sommets

Étapes à suivre pour reproduire

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);
}

Environnement

  • pixi.js version : 5.3.2
  • Navigateur et version : Chrome 85
  • Système d'exploitation et version : Windows 10
🕷 Bug

Commentaire le plus utile

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
image

Tous les 3 commentaires

Voici 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
image

La remise à zéro du tampon de sommets résoudrait probablement ce problème, s'il n'est pas nouvellement créé.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

MRVDH picture MRVDH  ·  3Commentaires

neciszhang picture neciszhang  ·  3Commentaires

madroneropaulo picture madroneropaulo  ·  3Commentaires

courtneyvigo picture courtneyvigo  ·  3Commentaires

st3v0 picture st3v0  ·  3Commentaires