250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- ableton live 10
- 터치디자이너 if
- TouchDesigner
- 터치디자이너 오퍼레이터
- touchdesigner particle
- 터치디자이너 참조
- 파이썬reference
- 터치디자이너 list
- 터치디자이너 reference
- 터치디자이너 replicator
- 파이썬
- 터치디자이너 클론
- displace
- TDableton
- 터치디자이너 timeline
- touchdesigner displace
- 터치디자이너 인터페이스
- touchdesigner GPU
- 파이썬 if
- 터치디자이너 함수
- particleGPU
- 터치디자이너 파이썬
- 터치디자이너 python
- 터치디자이너 강의
- 터치디자이너 에이블톤
- 터치디자이너 interface
- 터치디자이너 튜토리얼
- 터치디자이너
- touchdesinger
- 터치디자이너 Instancing
Archives
- Today
- Total
caLAB
[유니티 개발] 타이핑 모션이 들어간 대화창 만들기 본문
728x90
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
[System.Serializable]
public class Dialogue
{
public List<string> sentences;
}
public class DialogueSystem : MonoBehaviour
{
public Text txtSentence;
public Dialogue info;
Queue<string> sentences = new Queue<string>();
private void Start()
{
Begin(info);
}
//대화 시작
public void Begin(Dialogue info)
{
sentences.Clear();
foreach(var sentence in info.sentences)
{
sentences.Enqueue(sentence);
}
Next();
}
//버튼 클릭 시 다음 대화로 넘어감
public void Next()
{
if(sentences.Count == 0)
{
End();
return;
}
txtSentence.text = string.Empty;
StopAllCoroutines();
StartCoroutine(TypeSentence(sentences.Dequeue()));
}
//타이핑 모션 함수
IEnumerator TypeSentence(string sentence)
{
foreach(var letter in sentence)
{
txtSentence.text += letter;
yield return new WaitForSeconds(0.1f);
}
}
//대화 끝
private void End()
{
if (sentences != null)
{
Debug.Log("end");
}
}
}
728x90
반응형
'Unity > 유니티 개발' 카테고리의 다른 글
[포톤네트워크]파티클 생성 및 삭제 (0) | 2022.01.10 |
---|---|
[유니티 개발] 닉네임 billboard 만들기(feat. 회전하지 않는 캔버스) (0) | 2022.01.03 |
[유니티 개발] FOV 연출 (0) | 2021.12.15 |
[유니티 개발] Lighting (0) | 2021.12.14 |
[유니티 개발]비디오 플레이어에서 audioSource 받아오기 (0) | 2021.11.21 |
Comments