본문 바로가기

내배켐 Unity TIL

Unity 21일차 TIL - Unity 2D 프로젝트1

오늘은 개인 과제로 하고 있는 것 중에서 참석인원 UI와 NPC 대화를 제외하고 다 구현했다.

 

진행하면서 다른 Script에 있는 Class를 사용하고 싶어서 처음에는 [SerializeField]를 사용해서 필요한 오브젝트들을 추가하는 식으로 진행하다가 변수 하나 찾으려고 오브젝트를 넣는게 비효율적인 것 같아서 변수를 static으로 변경해서 사용했더니 신세계였다.

 

물론 좋은 방법인지는 모르겠지만 일단 완성을 목표로 진행할 것 같다. 그리고 버튼을 사용하면서 기존에 있던 Script들을 재활용하고 필요한 오브젝트들을 찾아서 넣어주는 부분이 은근 헷갈리는 것 같다.

 

UI를 사용하는 도중 TMP - TextMeshPro가 붙어있는 오브젝트들은 Text class로 받아오는 것이 아니라 TMP_InputField class로 받아와야한다. 그 이후에는 Text와 마찬가지로 .txt로 값을 변경할 수 있다.

 

InputField UI는 값을 받아올 때 4가지의 유형이 있다.

1. OnValueChanged(string) : 말그대로 값을 입력할 때마다 함수가 호출된다.

2. OnEndEdit(string)  : 입력을 마치고 InputField 밖을 클릭했을 때 함수가 호출된다.

3. OnSelect(string) : 문자창을 선택했을 때 함수가 호출된다.

4. OnDeselect(string) : 문자창에서 나왔을 때 함수가 호출된다.

 

주말 동안 NPC 대화를 어떻게 구현해야 할지 고민해야 될 것 같다.