Pixi.js: BitmapText .textWidth صحيح فقط بعد التقديم؟

تم إنشاؤها على ١٣ ديسمبر ٢٠١٦  ·  4تعليقات  ·  مصدر: pixijs/pixi.js

بعد تعيين خاصية .text لنص BitmapText ، يكون .textWidth غير صحيح حتى بعد تقديم. اضطررت إلى استخدام requestAnimationFrame () للانتظار عند إجراء حسابات إعادة تحديد الموضع. هل هذا سلوك متوقع؟

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

ال 4 كومينتر

خطأ ، إنه سلوك متوقع الآن لأن هذا ما يفعله الكود ، لكن يمكننا تحسينه ؛)

كما ترى ، لا يتم تحديث النص حتى يتم عرضه لأسباب تتعلق بالأداء. تخيل أن لديك عداد ، يعد العد بسرعة فائقة. لن ترغب في إعادة إنشاء كل رقم في فئة النص لأنه فقط عندما يتم تقديمه ، فأنت بحاجة إليه لإظهار الشيء الصحيح.

فئة النص العادي ، على سبيل المثال ، تتأكد من أنه عندما تحاول الحصول على عرضه ، فإنه يقوم بتحديث النص خارج حلقة العرض ، للتأكد من أن القيمة التي تم إرجاعها دقيقة ومحدثة. لا يقوم BitmapText بهذا (ولكن يجب).

أثناء إنشاء الإصلاح ، يمكنك استدعاء .updateText () على الكائن قبل الاستعلام .textWidth. يجب أن يمنحك هذا القياس الدقيق دون الحاجة إلى انتظار rAF

سيكون الإصلاح هو جعل .textWidth الحالي خاصًا ._textWidth ، وإنشاء أداة قراءة فقط تسمى .textWidth ، والتي تستدعي .validate () قبل إرجاع ._textWidth؛

للحصول على .width (والارتفاع) ، أعتقد أنه يجب استدعاء .updateTransform () قبل إرجاع العرض

.validate هو ما كنت أبحث عنه. شكرا :). سأقوم بتنفيذ + العلاقات العامة في وقت لاحق هذا المساء إذا سنحت لي الفرصة.

تم قفل سلسلة الرسائل هذه تلقائيًا نظرًا لعدم وجود أي نشاط حديث بعد إغلاقه. الرجاء فتح قضية جديدة للأخطاء ذات الصلة.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات