如何将 TextMeshPro-StyleTags 转换为 Unity 中的实际 RichText?

How to translate TextMeshPro-StyleTags to the actual RichText in Unity?

我在 TextMeshPro 中有以下字符串:“This is a Title (...)”。

我想将 StyleTag 转换为定义的开始标签。 对于此示例,它将上面的字符串转换为以下内容:“This is a Title (...)”。

我该怎么做?

您可以通过调用以下函数将 OpeningTags 获取到 StyleTag:TMP_StyleSheet.GetStyle("[StyleName]").styleOpeningDefinitionTMP_StyleSheet 是对使用的 TMP-StyleSheet 的引用)。

因此,一个可能的解决方案是从您的字符串中提取 StyleName(例如“(...text) <style=Example> (text...)”将变为“Example”)并将其提供给上面的函数。 Regular Expressions 可以帮助从您的字符串中提取 StyleName。然后用函数 returns 替换整个标签(例如“<size=125%>”)。 (注意:如果标签不存在,则returns为空)。然后对结束标记执行相同操作。