1. 초상화관련 이미지 오브젝트 생성
(1) - 8개의 이미지가 들어가 있는 sprite를 pixel per unit = 24로 설정하고 34x46크기로 자른다
(2) - 판넬Image 오브젝트 안에 새로운 image오브젝트를 생성(Potrait)
(3) - Rect Transform를 shift와 alt키를 이요하여 오른쪽아래로 위치하게 해주고 이지미 크기를 조정
2.스크립트 작성
(1) - GameManigerScript 상단에 public Image potrait;를 선언하고 GameManiger 안으로 Potrait 오브젝트를 드래그앤 드랍
(2) - 플레이어가 스캔한 오브젝트가 NPC 인경우 위에서 설정한 Potrait가 보이도록 색을 조정
(3) - NPC 가 아닌경우 Potrait 이미지를 투명하게 색을 조정하여 안보이게 함
(4) - TalkManigerScript에서 int형의 Key에 대응하는 Sprite형의 value가 오는 Dictionary를 하나 만들고
- 해당 Dictionary에 Key 값으로 이후 다른 스크립트에서 매개변수로써 받아올
NPC오브젝트에 들어있는 id 값 + idexOf 값을 주고
- value 값으로는 public Sprite[] pot;를 통해 만든 스프라이트 배열의 원소값을 준다
*public Sprite[] pot; 로 유니티엔진 밖으로 비어있는 배열을 만들고 size를 적은 후 각 원소에 준비된 스프라이트를
드로그앤 드랍 한다
**Dictionary를 만들때 value 값은 배열자체 또는 배열의 원소로 표현하는게 가장 효율적이다
(5) - (4) 까지 하면 NPC와 대화를 이어나갈때 스프라이트가 pot[0]부터 순차적으로만 바뀐다
- 대화마다 호출할 스프라이트를 다르게 만들어보자
- 호출할 대화에 :(아무거나 상관없음)이라는 구분자와 각 스프라이트를 호출할 원소번호를 준다
- 이 후 GameManigerScript를 아래와 같이 작성
*potrait.sprite = sprite타입 으로 계층구조 Ui의 image오브젝트의 속성에 들어간 이미지를 바꿀 수 있다.
'Unity > Unity2D_TopDown' 카테고리의 다른 글
Unity2D_TopDown - 퀘스트구현(2) (0) | 2020.12.21 |
---|---|
Unity2D_TopDown - 퀘스트구현(1) (0) | 2020.12.21 |
Unity2D_TopDown - 대화시스템구현 (0) | 2020.12.16 |
Unity2D_TopDown -UI (3) Ui 커서 애니메이션 (0) | 2020.12.15 |
Unity2D_TopDown -UI (2) 판넬Ui 껏다 켜기 (0) | 2020.12.10 |