728x90
문제점: 한 글자씩 타이핑 줄때 <color~ 같은 태그가 유저에게 보인다. </color> 까지 닫아줘야 색상이 지정된다.
해결: 임시 제어문자를 넣어준다.
string testStr = "안녕하세요. r거두절meb입니다.";
public IEnumerator ShowText(string fullText, Text txtCompo)
{
string displayText = ""; // 표시할 최종 문자열
string color = "black"; // 기본 색상
for (int i = 0; i < fullText.Length; i++)
{
if(fullText[i] == 'r'){
color = "red"; // 빨간색 설정
continue;
} else if(fullText[i] == 'b'){
color = "black"; // 검정색 설정
continue;
}
// 현재 문자에 적절한 색상 적용
displayText += $"<color={color}>{fullText[i]}</color>";
txtCompo.text = displayText;
yield return new WaitForSeconds(0.1f);
}
juniorScriptCoroutine = null;
}
사용법: r, b는 내가 넣은 임시 문자고 필요에 따라 다른걸 넣어주면 된다.
r뒤부터는 빨간색이 나오고, b뒤부터는 검정색이 나올 수 있도록했다.
r, b 차례일때는 다음 폰트의 color만 바꿔주는 역할만 하고 텍스트에 들어가지 않도록 continue를 해준다.
'Unity' 카테고리의 다른 글
[ Unity ] transform.localPosition assign attempt for 'XXX' is not valid. Input localPosition is { NaN, NaN, NaN }. 또는 Look rotation viewing vector is zero (0) | 2024.07.15 |
---|---|
[ Unity ] bool 값을 초기화 해줬는데 안될때?? 반대값일때?? (0) | 2024.04.18 |
[ Unity ] 에셋스토어 SimpleSQL 테이블 확인 및 수정하기 (0) | 2024.02.21 |
[ Unity ] Rect Transform에서 position NaN문제 (0) | 2024.02.06 |
[ Unity ] 버튼 펼침 목록 LeanTween (0) | 2024.02.06 |