1. 대화창 속 대화 text가 한글자식 차례대로 나오는 애니메이션 코드로 구현하기
-TalkEffect 스크립트를 생성후 계층구조 UI안의 Text 오브젝트에 드래그앤 드랍
- TalkEffect 스크립트 작성
*애니메이션 효과를 코드로 나타내기 위해서는 아래와 같이 데이터 셋팅, EffectStrat(), Effecting(), EffectEnd() 처럼
세가지 동작함수로 나누어 구현한다
*msgData[presentMsgIndex] --> msgData는 string이다 만약 "ABC" 라면 msgData[0]은 "A"가 된다
즉 string자료형을 하나의 배열이라고 보고 string의 원소를 char자료형으로 보도록 C#언어가 구현되어 있다
- GameManigerScript에서 실행코드 작성
- TalkEnd 커서이미지도 대화이펙트로써 활성화 비활성화를 구현
(public GameObject에 TalkEnd오브젝트 드래그 앤 드랍)
2. 글자가 한글자씩 생성될때 마다 sound 추가
(1) - Text오브젝트에 AudioSound 속성 추가
- Play On Awake를 체크해제 해주고
- 사운드클립에 사운드를 드래그앤 드랍
(2) - Text 스크립트 작성
- 공백과 .에서는 소리가 안나도록 작성
3. 대화 스킵 구현
(1) - isAnim라는 플래그를 bool값으로 생성 (대화이펙트진행중인지 아닌지를 나타내는 값)
(2) - 대화이펙트가 시작되면 isAnim를 true로 하고
(3) - 대화이펙트가 끝나면 isAnim를 false로 한다
(4) - 만약 대화이펙트가 true인 상태에서 스페이스바를 누르면 GameManigerScript의 Talk()함수가 실행되면서
대화이펙트 즉 talkEffect.isAnim가 true 이기때문에 setMsgData함수가 실행되면서 return으로 인해
해당함수 아래코드들이 실행되지 않아 대화 내용이 바뀌지 않고 그대로 Talk함수가 종료됨
'Unity > Unity2D_TopDown' 카테고리의 다른 글
Unity2D-Top_Down - 모바일Ui(방향키) (0) | 2021.01.03 |
---|---|
Unity2D-Top_Down - 게임관리UI(계속하기, 종료하기, 저장하기) 만들기 (0) | 2020.12.30 |
Unity2D_TopDown - 초상화애니메이션 (0) | 2020.12.26 |
Unity2D_TopDown - 대화창애니메이션 (0) | 2020.12.24 |
Unity2D_TopDown - 퀘스트구현(3) (0) | 2020.12.21 |