Pixi.js: BitmapText .textWidth correto apenas após renderizar?

Criado em 13 dez. 2016  ·  4Comentários  ·  Fonte: pixijs/pixi.js

Depois de definir a propriedade .text de um BitmapText, o .textWidth fica incorreto até depois de uma renderização. Tive que usar requestAnimationFrame () para esperar ao fazer cálculos de reposicionamento. Este é o comportamento esperado?

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

Todos 4 comentários

Err, é o comportamento esperado agora porque é isso que o código faz, mas podemos torná-lo melhor;)

Veja, o texto não é atualizado até que seja renderizado por motivos de desempenho. Imagine que você tenha um contador, contando muito rápido. Você não gostaria de recriar cada número na classe de texto porque é apenas quando ele é renderizado que você precisa para mostrar a coisa certa.

A classe Text normal, por exemplo, garante que, ao tentar obter a largura dela, ela atualize o texto fora do loop de renderização, para garantir que o valor retornado seja preciso e atualizado. BitmapText não está fazendo isso (mas deveria).

Enquanto uma correção é criada, você pode chamar .updateText () no objeto antes de consultar .textWidth. Isso deve fornecer a medição precisa sem ter que esperar por um rAF

a correção seria tornar o .textWidth atual um ._textWidth privado, criar um getter somente leitura chamado .textWidth, que chama .validate () antes de retornar ._textWidth;

para o getter de .width (e altura) ,, eu acredito que ele deva chamar .updateTransform () antes de retornar a largura

.validate é o que eu estava procurando. Obrigado :). Implementarei o + pr mais tarde esta noite se tiver uma chance.

Este tópico foi bloqueado automaticamente, pois não houve nenhuma atividade recente depois que ele foi fechado. Abra um novo problema para bugs relacionados.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

courtneyvigo picture courtneyvigo  ·  3Comentários

neciszhang picture neciszhang  ·  3Comentários

Makio64 picture Makio64  ·  3Comentários

softshape picture softshape  ·  3Comentários

MRVDH picture MRVDH  ·  3Comentários