如何将TextMeshPro样式标签翻译成Unity中的实际RichText



我在TextMeshPro中有以下字符串:"><style=标题>这是一个标题(…(";。

我想将样式标签转换为已定义的打开标签。对于这个例子,它将把上面的字符串翻译成下面的:<大小=125%>lt;align=center>这是一个标题(…(";。

我该怎么做?

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

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

最新更新