使用此文本“ 1111111111111111111111111111”创建一个PIXI.BitmapText实例。 记住其宽度,然后将文本更改为“ 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这是一个JSFiddle版本:
https://jsfiddle.net/bigtimebuddy/syt6gdpb/
这是一个JSFiddle版本:
https://jsfiddle.net/bigtimebuddy/syt6gdpb/
据我了解,出现此问题的原因是,当新文本小于以前的文本时,我们不清除顶点缓冲区。
检查这种情况如何运作
如果顶点缓冲区不是新创建的,则将顶点缓冲区清零可能会解决此问题。
最有用的评论
据我了解,出现此问题的原因是,当新文本小于以前的文本时,我们不清除顶点缓冲区。
检查这种情况如何运作