代码之家  ›  专栏  ›  技术社区  ›  blue

统一-动态文本网格字体更改故障?

  •  0
  • blue  · 技术社区  · 4 年前

    好吧,在Unity 2019.4.1中,我遇到了一个小问题,如果在运行时通过脚本更改文本网格的字体,字符会变得混乱:

    enter image description here

    我在这里的论坛上尝试了一个解决方案:

    void resetChars(TextMesh textMesh)
        {
            textMesh.text = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
            textMesh.font.characterInfo = null;
            textMesh.font.RequestCharactersInTexture(textMesh.text, textMesh.fontSize, textMesh.fontStyle);
        }
    
    if(Input.GetKey("space"))
            {
                resetChars(GetComponent<TextMesh>());
                GetComponent<TextMesh>().font = (Font)Resources.Load("Inter-Black-slnt=0");
            }
    

    0 回复  |  直到 4 年前
        1
  •  0
  •   miishuriinu    4 年前

    将您的字体直接放在资源文件中的资产文件中,然后使用该方法 style.font = Resources.Load<Font>("Fonts/<fileName");

    https://docs.unity3d.com/2018.1/Documentation/ScriptReference/UI.Text-font.html 看看这里。