Pixi.js: BitmapText .textWidth erst nach dem Rendern korrigieren?

Erstellt am 13. Dez. 2016  ·  4Kommentare  ·  Quelle: pixijs/pixi.js

Nach dem Festlegen der .text-Eigenschaft eines BitmapText ist die .textWidth bis nach einem Rendering falsch. Musste requestAnimationFrame () verwenden, um zu warten, wenn Neupositionierungsberechnungen durchgeführt werden. Ist das erwartetes Verhalten?

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

Alle 4 Kommentare

Ähm, es ist momentan erwartetes Verhalten, weil der Code genau das tut, aber wir können es verbessern;)

Sie sehen, Text wird erst aktualisiert, wenn er aus Leistungsgründen gerendert wurde. Stellen Sie sich vor, Sie hätten einen Zähler, der sehr schnell hochzählt. Sie möchten nicht jede Zahl in der Textklasse neu erstellen, da Sie sie nur beim Rendern benötigen, um das Richtige anzuzeigen.

Die normale Textklasse stellt beispielsweise sicher, dass beim Versuch, die Breite zu ermitteln, der Text außerhalb der Rendering-Schleife aktualisiert wird, um sicherzustellen, dass der zurückgegebene Wert korrekt und aktuell ist. BitmapText macht das nicht (sollte es aber).

Während ein Fix erstellt wird, können Sie .updateText () für das Objekt aufrufen, bevor Sie .textWidth abfragen. Dies sollte Ihnen die genaue Messung geben, ohne auf einen rAF warten zu müssen

Die Lösung besteht darin, die aktuelle .textWidth zu einer privaten ._textWidth zu machen und einen schreibgeschützten Getter namens .textWidth zu erstellen, der .validate () aufruft, bevor ._textWidth zurückgegeben wird.

für den Getter von .width (und height) ,, Ich glaube, es sollte .updateTransform () aufrufen, bevor die Breite zurückgegeben wird

.validate ist das, wonach ich gesucht habe. Vielen Dank :). Ich werde + pr später am Abend implementieren, wenn ich eine Chance bekomme.

Dieser Thread wurde automatisch gesperrt, da nach dem Schließen keine Aktivität mehr stattgefunden hat. Bitte öffnen Sie eine neue Ausgabe für verwandte Fehler.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

readygosports picture readygosports  ·  3Kommentare

madroneropaulo picture madroneropaulo  ·  3Kommentare

sntiagomoreno picture sntiagomoreno  ·  3Kommentare

finscn picture finscn  ·  3Kommentare

zcr1 picture zcr1  ·  3Kommentare