Pixi.js: عرض BitmapText بعد تغيير النص

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

سلوك متوقع

السلوك الحالي

قم بإنشاء مثيل PIXI.BitmapText بهذا النص "11111111111111111111111". تذكر عرضه ، ثم قم بتغيير النص إلى "1" وتحقق من العرض مرة أخرى ، سيكون هو نفسه.

حل ممكن

توجد هذه المشكلة عندما يكون مثيل PIXI.BitmapText له مثيل PIXI.Mesh كأطفال مع أكثر من 199 رأسًا

خطوات التكاثر

https://pixijs.io/examples/#/text/bitmap -text.js
الصق هذا الرمز:

const app = new PIXI.Application({ backgroundColor: 0x1099bb });
document.body.appendChild(app.view);

app.loader
    .add('desyrel', 'examples/assets/bitmap-font/desyrel.xml')
    .load(onAssetsLoaded);

function onAssetsLoaded() {
    const bitmapFontText = new PIXI.BitmapText('11111111111111111111111111111111111111111111111', { font: '55px Desyrel'});
    console.log(bitmapFontText.width);
    bitmapFontText.x = 50;
    bitmapFontText.y = 200;
    bitmapFontText.text = '1';
    console.log(bitmapFontText.width);
    app.stage.addChild(bitmapFontText);
}

بيئة

  • الإصدار pixi.js : 5.3.2
  • المتصفح والإصدار : Chrome 85
  • نظام التشغيل والإصدار : Windows 10
🕷 Bug

التعليق الأكثر فائدة

إليك إصدار JSFiddle:
https://jsfiddle.net/bigtimebuddy/syt6gdpb/

كما أفهم ، تنشأ هذه المشكلة لأننا لا نقوم بتنظيف المخزن المؤقت للرؤوس عندما يكون النص الجديد أصغر من السابق.
تحقق من كيفية عمل هذا الشرط
image

ال 3 كومينتر

إليك إصدار JSFiddle:
https://jsfiddle.net/bigtimebuddy/syt6gdpb/

إليك إصدار JSFiddle:
https://jsfiddle.net/bigtimebuddy/syt6gdpb/

كما أفهم ، تنشأ هذه المشكلة لأننا لا نقوم بتنظيف المخزن المؤقت للرؤوس عندما يكون النص الجديد أصغر من السابق.
تحقق من كيفية عمل هذا الشرط
image

من المحتمل أن يؤدي التخلص من المخزن المؤقت للرأس إلى حل هذه المشكلة ، إذا لم يتم إنشاؤها حديثًا.

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