🌍 Unity/UI & TMP
DoText사용 시 RichText의 Length 문제.
맨텀
2020. 5. 21. 01:57
DOText는 아래와 같이 인자를 받는다.
Txt_talk.DOText(string endTargetText, float duration);
때문에 사용할 Text의 Length를 사용해서 duration을 결정하곤 하는데,
문제는 <color="red"> 등과 같이 RichText를 사용할 시에는 보이지않는데 Length에 포함된다는 것.
유니티포럼
https://forum.unity.com/threads/rich-text-length.402876/
public int TextLength(string richText)
{
int len = 0;
bool inTag = false;
foreach (var ch in richText)
{
if (ch == '<')
{
inTag = true;
continue;
}
else if (ch == '>')
{
inTag = false;
}
else if (!inTag)
{
len++;
}
}
return len;
}
위의 코드로 Length를 구하면 RichText부분을 제외한 길이를 얻을 수 있다.