Pixi.js: Lebar bitmapText setelah perubahan teks

Dibuat pada 22 Sep 2020  ·  3Komentar  ·  Sumber: pixijs/pixi.js

Perilaku yang Diharapkan

Perilaku Saat Ini

Buat instance PIXI.BitmapText dengan teks ini "1111111111111111111111111". Ingat lebarnya, kemudian ubah teksnya menjadi "1" dan periksa lebarnya lagi, itu akan sama.

Solusi yang Mungkin

Masalah ini terjadi ketika instance PIXI.BitmapText memiliki instance PIXI.Mesh sebagai anak dengan lebih dari 199 simpul

Langkah-langkah untuk Mereproduksi

https://pixijs.io/examples/#/text/bitmap -text.js
Tempel kode ini:

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);
}

Lingkungan Hidup

  • pixi.js versi : 5.3.2
  • Browser & Versi : Chrome 85
  • OS & Versi : Windows 10
🕷 Bug

Komentar yang paling membantu

Ini versi JSFiddle:
https://jsfiddle.net/bigtimebuddy/syt6gdpb/

Seperti yang saya pahami, masalah ini muncul karena kita tidak membersihkan buffer simpul ketika teks baru lebih kecil dari sebelumnya.
Periksa bagaimana kondisi ini bekerja
image

Semua 3 komentar

Ini versi JSFiddle:
https://jsfiddle.net/bigtimebuddy/syt6gdpb/

Seperti yang saya pahami, masalah ini muncul karena kita tidak membersihkan buffer simpul ketika teks baru lebih kecil dari sebelumnya.
Periksa bagaimana kondisi ini bekerja
image

Mungkin mengosongkan buffer vertex akan memperbaiki masalah ini, jika tidak baru dibuat.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat