Pixi.js: BitmapText .textWidthはレンダリング後にのみ正しいですか?

作成日 2016年12月13日  ·  4コメント  ·  ソース: pixijs/pixi.js

BitmapTextの.textプロパティを設定した後、レンダリングが完了するまで.textWidthは正しくありません。 再配置計算を行うときに待機するには、requestAnimationFrame()を使用する必要がありました。 これは予想される動作ですか?

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

全てのコメント4件

エラー、それはコードが行うことなので、今のところ予想される動作ですが、私たちはそれをより良くすることができます;)

ご覧のとおり、パフォーマンス上の理由でレンダリングされるまで、テキストは更新されません。 あなたがカウンターを持っていて、超高速でカウントアップしていると想像してみてください。 正しいことを示すために必要なのはレンダリングされたときだけなので、テキストクラスの各番号を再作成することは望ましくありません。

たとえば、通常のTextクラスは、幅を取得しようとすると、レンダリングループの外側でテキストを更新して、返される値が正確で最新であることを確認します。 BitmapTextはこれを行っていません(しかしそうすべきです)。

修正が作成されている間、.textWidthを照会する前に、オブジェクトに対して.updateText()を呼び出すことができます。 これにより、rAFを待たずに正確な測定が可能になります。

修正は、現在の.textWidthをプライベート._textWidthにし、._ textWidthを返す前に.validate()を呼び出す.textWidthという読み取り専用のゲッターを作成することです。

.width(およびheight)のゲッターの場合、幅を返す前に.updateTransform()を呼び出す必要があると思います

.validateは私が探していたものです。 ありがとう:)。 機会があれば、今晩遅くに+ prを実装します。

このスレッドは、閉じられた後に最近のアクティビティがないため、自動的にロックされています。 関連するバグについては、新しい問題を開いてください。

このページは役に立ちましたか?
0 / 5 - 0 評価