Pixi.js: BitmapText .textWidth hanya mengoreksi setelah render?

Dibuat pada 13 Des 2016  ·  4Komentar  ·  Sumber: pixijs/pixi.js

Setelah menyetel properti .text dari BitmapText, .textWidth salah hingga setelah render. Harus menggunakan requestAnimationFrame () untuk menunggu saat melakukan kalkulasi pemosisian ulang. Apakah ini perilaku yang diharapkan?

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

Semua 4 komentar

Err, itu perilaku yang diharapkan sekarang karena itulah yang dilakukan kode, tapi kita bisa membuatnya lebih baik;)

Soalnya, teks tidak diperbarui sampai dirender karena alasan kinerja. Bayangkan Anda memiliki penghitung, menghitung dengan sangat cepat. Anda tidak ingin membuat ulang setiap angka di kelas teks karena hanya ketika sudah dirender Anda membutuhkannya untuk menunjukkan hal yang benar.

Kelas Teks normal, misalnya, memastikan bahwa ketika Anda mencoba untuk mendapatkan lebarnya, itu memperbarui teks di luar loop rendering, untuk memastikan bahwa nilai yang dikembalikan akurat dan mutakhir. BitmapText tidak melakukan ini (tetapi seharusnya).

Saat perbaikan dibuat, Anda dapat memanggil .updateText () pada objek sebelum menanyakan .textWidth. Ini akan memberi Anda pengukuran yang akurat tanpa harus menunggu rAF

perbaikannya adalah membuat .textWidth saat ini menjadi ._textWidth pribadi, membuat getter hanya baca yang disebut .textWidth, yang memanggil .validate () sebelum mengembalikan ._textWidth;

untuk pengambil .width (dan tinggi) `` Saya yakin itu harus memanggil .updateTransform () sebelum mengembalikan lebar

.validate adalah yang saya cari. Terima kasih :). Saya akan menerapkan + pr nanti malam jika saya mendapat kesempatan.

Utas ini telah dikunci secara otomatis karena tidak ada aktivitas baru-baru ini setelah ditutup. Silakan buka masalah baru untuk bug terkait.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat