Pixi.js: BitmapText .textWidth solo es correcto después de renderizar?

Creado en 13 dic. 2016  ·  4Comentarios  ·  Fuente: pixijs/pixi.js

Después de establecer la propiedad .text de un BitmapText, el .textWidth es incorrecto hasta después de un render. Tuve que usar requestAnimationFrame () para esperar al hacer los cálculos de reposicionamiento. ¿Es este el comportamiento esperado?

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

Todos 4 comentarios

Err, es el comportamiento esperado en este momento porque eso es lo que hace el código, pero podemos mejorarlo;)

Verá, el texto no se actualiza hasta que se procesa por motivos de rendimiento. Imagina que tienes un contador, contando muy rápido. No querrá volver a crear cada número en la clase de texto porque es solo cuando se representa cuando lo necesita para mostrar lo correcto.

La clase Text normal, por ejemplo, se asegura de que cuando intente obtener el ancho de la misma, actualice el texto fuera del ciclo de representación, para asegurarse de que el valor devuelto sea preciso y esté actualizado. BitmapText no está haciendo esto (pero debería).

Mientras se crea una corrección, puede llamar a .updateText () en el objeto antes de consultar .textWidth. Esto debería proporcionarle la medición precisa sin tener que esperar un rAF.

la solución sería convertir el .textWidth actual en un ._textWidth privado, crear un getter de solo lectura llamado .textWidth, que llama a .validate () antes de devolver ._textWidth;

para el getter de .width (y height), creo que debería llamar a .updateTransform () antes de devolver el ancho

.validate es lo que estaba buscando. Gracias :). Implementaré + pr más tarde esta noche si tengo la oportunidad.

Este hilo se ha bloqueado automáticamente ya que no ha habido ninguna actividad reciente después de que se cerró. Abra un nuevo problema para errores relacionados.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

sntiagomoreno picture sntiagomoreno  ·  3Comentarios

neciszhang picture neciszhang  ·  3Comentarios

madroneropaulo picture madroneropaulo  ·  3Comentarios

gigamesh picture gigamesh  ·  3Comentarios

lunabunn picture lunabunn  ·  3Comentarios