Pixi.js: テキスト変更後のBitmapText幅

作成日 2020年09月22日  ·  3コメント  ·  ソース: pixijs/pixi.js

予想される行動

現在の動作

このテキスト「1111111111111111111111111」を使用してPIXI.BitmapTextインスタンスを作成します。 幅を覚えてから、テキストを「1」に変更して幅をもう一度確認すると、同じになります。

考えられる解決策

この問題は、PIXI.BitmapTextインスタンスに199を超える頂点を持つ子としてPIXI.Meshインスタンスがある場合に発生します。

再現する手順

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
  • OSとバージョン: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 評価

関連する問題

neciszhang picture neciszhang  ·  3コメント

courtneyvigo picture courtneyvigo  ·  3コメント

SebastienFPRousseau picture SebastienFPRousseau  ·  3コメント

sntiagomoreno picture sntiagomoreno  ·  3コメント

madroneropaulo picture madroneropaulo  ·  3コメント