使用PIXI JS更改弯曲文本中的字体大小

Mar*_*kša 6 javascript text mesh pixi.js

有没有一种简单的方法来改变PIXI JS曲线文本中的字体大小?文本是通过创建的new PIXI.mesh.Rope(pixiText.texture, points).使用调整大小按钮(查看下面的图像),您可以更改对象的大小.我可以使用,scale但它会降低质量.

在基本文本对象中可以更改字体大小text.style.fontSize = newFontSize.

T恤

Gri*_*iva 0

没有像更改字体大小这样超级简单的方法。这里的问题是通过Text对象生成的字母使用特殊机制,使其能够快速重新渲染。要创建网格,您需要纹理,但它不能是Text对象Graphics,因为它们是根据自己的设置渲染的。

有两种解决方案:

  1. 如果用户的空间有限,您可以尝试生成更大的文本,然后生成网格并将其缩小,这样即使用户调整其大小,文本仍然具有足够好的分辨率。这很容易做到,但可能无法满足您的需求,或者在您的情况下很难实现。

  2. 更好的解决方案,但更难实现的是每帧或用户调整大小后更新纹理。有两种方法可以做到这一点:

    • 使用附加画布并在那里绘制文本来执行手动更新(将新纹理加载到 GPU)或可能使用text.resolution属性并以类似的方式更新它
    • 使用渲染纹理。这种特殊的纹理允许将任何 pixi 对象渲染到其中,因此您可以做的是:创建Text对象并使用属性操作它,就像您已经做的那样,RenderTexture使用此文本或带有文本和其他所需元素的容器进行创建,然后使用此纹理来创建网。如果您对文本进行任何更新,它将使用 renderTexture 自动渲染为网格。