Изменить размер шрифта в изогнутом тексте с помощью PIXI JS - PullRequest
0 голосов
/ 26 февраля 2019

Существует ли простой способ изменить размер шрифта в изогнутом тексте PIXI JS?Текст создается через new PIXI.mesh.Rope(pixiText.texture, points).С помощью кнопки изменения размера (проверьте изображение ниже) вы можете изменить размер объекта.Я мог бы использовать scale, но это снижает качество.

В базовом текстовом объекте можно изменить размер шрифта text.style.fontSize = newFontSize.

Tshirt

1 Ответ

0 голосов
/ 20 апреля 2019

Не существует такого простого способа, как изменение размера шрифта.Проблема здесь в том, что буквы, сгенерированные с помощью объекта Text, используют специальный механизм, позволяющий быстро рендериться.Чтобы создать сетку, вам нужна текстура, и она не может быть Text или Graphics объектом, потому что они отображаются с их собственными настройками.

Есть два решения:

  1. Если для пользователя ограничено пространство, вы можете попробовать сгенерировать намного больший текст, а затем сгенерировать сетку и уменьшить ее, так что даже если пользователь изменит его размер, текст все равно будет в достаточно хорошем разрешении,Это довольно легко сделать, но это может вас не удовлетворить или может быть сложно реализовать в вашем случае.

  2. Путь лучшее решение, но сложнее реализовать будет обновлять текстуру каждый кадрили после того, как пользователь изменил его размер.Есть два способа сделать это:

    • Использовать дополнительный холст и рисовать там текст для обновления вручную (загрузить новую текстуру в gpu) или, возможно, использовать свойство text.reslution и обновить его аналогичным образом
    • Использование RenderTexture .Эта специальная текстура позволяет визуализировать в нее любые пиксельные объекты, поэтому вы можете создать объект Text и манипулировать им со свойствами, которые вы уже сделали, создать RenderTexture, используя этот текст или контейнер с текстом и другими необходимыми элементами, изатем используйте эту текстуру для создания сетки.Если вы обновите текст, он будет автоматически преобразован в сетку с помощью renderTexture.
...