Pixi.js: BitmapText .textWidth n'est-il correct qu'après le rendu?

Créé le 13 déc. 2016  ·  4Commentaires  ·  Source: pixijs/pixi.js

Après avoir défini la propriété .text d'un BitmapText, le .textWidth est incorrect jusqu'à ce qu'après un rendu. J'ai dû utiliser requestAnimationFrame () pour attendre lors des calculs de repositionnement. Est-ce ce comportement attendu?

💾 v4.x (Legacy) 📢 Accepting PRs 🕷 Bug

Tous les 4 commentaires

Euh, c'est le comportement attendu en ce moment parce que c'est ce que fait le code, mais nous pouvons l'améliorer;)

Vous voyez, le texte n'est pas mis à jour tant qu'il n'a pas été rendu pour des raisons de performances. Imaginez que vous ayez un compteur, comptant très vite. Vous ne voudriez pas recréer chaque nombre dans la classe de texte car ce n'est que lorsqu'il est rendu que vous en avez besoin pour afficher la bonne chose.

La classe Text normale, par exemple, s'assure que lorsque vous essayez d'en obtenir la largeur, elle met à jour le texte en dehors de la boucle de rendu, pour s'assurer que la valeur renvoyée est exacte et à jour. BitmapText ne fait pas cela (mais il devrait).

Lors de la création d'un correctif, vous pouvez appeler .updateText () sur l'objet avant d'interroger .textWidth. Cela devrait vous donner une mesure précise sans avoir à attendre un rAF

le correctif serait de faire du .textWidth actuel un ._textWidth privé, de créer un getter en lecture seule appelé .textWidth, qui appelle .validate () avant de renvoyer ._textWidth;

pour le getter de .width (et de hauteur), je pense qu'il devrait appeler .updateTransform () avant de renvoyer la largeur

.validate est ce que je cherchais. Merci :). J'implémenterai + pr plus tard ce soir si j'en ai une chance.

Ce thread a été automatiquement verrouillé car il n'y a pas eu d'activité récente après sa fermeture. Veuillez ouvrir un nouveau numéro pour les bogues associés.

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

Questions connexes

finscn picture finscn  ·  3Commentaires

Darker picture Darker  ·  3Commentaires

softshape picture softshape  ·  3Commentaires

Makio64 picture Makio64  ·  3Commentaires

lunabunn picture lunabunn  ·  3Commentaires