소소한 개발 공부
[유니티] Text 타이핑 효과 내기 본문
글자를 한 글자씩 화면에 출력하면 일종의 타이핑 효과를 낼 수 있다.
public Text textSpeaker;
public Text textContent;
void Start()
{
StartCoroutine(PrintText("주인공", "배고프다.");
}
IEnumerator PrintText(string speaker, string content)
{
textSpeaker.text = speaker;
// content = content.Replace("\\n", "\n");
for(int i=0; i < content.Length; i++)
{
textContent.text += content[i];
yield return new WaitForSeconds(0.1f);
}
yield return new WaitForSeconds(2f);
textContent.text = "";
}
textSpeaker / textContent : 하이어라키에 text로 존재하며 각각 화자, 대사를 담당한다.
PrintText 안의 for문이 한 글자를 content(대사)의 한 글자를 0.1초 간격으로 출력하여 타이핑 효과를 낸다.
주석 처리된 Replace 부분은 만약 content를 public으로 사용해 에디터 상에서 대사를 수정할 때 "\\n"을 "\n"으로 교체하여 게임뷰 상에서 줄바꿈을 할 수 있게 한다.
'개발 > Unity' 카테고리의 다른 글
[유니티] 에디터 상의 버튼을 스크립트로 클릭하기 (0) | 2021.08.26 |
---|---|
[유니티|2D] 터치로 UI 오브젝트, 월드 오브젝트 이동하기 (0) | 2021.08.19 |
[Unity] 2D 핀치 줌 Pinch Zoom 구현 + 화면 끌기(패닝 Panning) (0) | 2021.05.19 |
[Unity] 애니팡식 하트 충전 : 시간에 따른 값 충전 (0) | 2021.05.14 |
[Unity] 스크립트 실행 우선순위 정하기 Script Execution Order (0) | 2021.05.09 |