본문 바로가기
유니티5 독학 & 게임 제작

유니티5 독학하기 그 45번째 걸음-Tooltip띄우기 part2

by 인터넷떠돌이 2018. 6. 5.
반응형

안녕하세요?


지난번 포스팅에 이이서 이번에는 제대로 툴팁을 띄울 수 있는 실습을 하고자 합니다. 나누고 나서 보니까, 2개의 파트로 나누기만 하면 되어서 이번 포스팅까지 하는 것으로 툴팁을 띄우도록 하고, 유니티 NGUI 게임 프로젝트라는 책의 챕터4의 진도를 나아가도록 하겠습니다.



UIRoot>Tooltip을 선택 하도록 합니다.



Add Component를 눌러서 Tooltip이라고 입력을 해서 추가를 하도록 합니다.



그리고 나서 Text란에는 UIRoot>Tooltip>Label을 드래그 앤 드롭으로 추가하고, Background에는 UIRoot >Tooltip > Background를 드래그 앤 드롭으로 추가를 하도록 합니다.




그리고 나서 UIRoot>Main>Buttons항목 아래에 있는 Play, Options, Exit를 동시에 선택 하도록 합니다.



새 스크립트를 추가 하도록 합니다.



ShowTooltip이라는 C#의 언어를 만들어 주도록 합니다.



먼저 광역 변수로 Key라는 문자열 변수를 선언해 주는데, 여기서는 ""를 지정해서 내용이 기본적으로 없는 것으로 설정을 해 주도록 합니다.




다음은 OnTooltip (bool state)라는 함수를 만들어 주도록 하는데, 가장 윗 줄에 있는 문장은 finalText라는 문자열 변수를 로컬 변수라고 해서 이 OnTooltip이라는 함수 안에서만 쓸 수 있도록 변수를 선언하는 것 입니다. 그리고 그 내용은 Localization.txt에서 있는 key라는 변수에 해당하는 값을 가져와라는 것입니다.


if(!state){ finalText="";} 라는 문장은 !state가 아마 위에 있는 OnTooltip(bool state)에 있는 state로 보이며, 여기 있는 이 함수의 값이 false라고 하면, finalText의 내용을 빈칸으로 만들라는 내용이 됩니다. 이게 아니라면 UITooltip의 레이블을 보여주는데 그 내용은 finalText로 해라 라는 의미가 됩니다.



당연 이것만 해서는 안되고, Localization.txt에 있는 내용을 추가해야 합니다. 하지만 이렇게 해서는 버튼 하나하나에 일일히 버튼이름_Tooltip이라고 지정을 해 줘야 합니다. 그래서 이렇게 해서는 안되고 좀 더 간편한 방법이라고 책에서 언급되어 있기로는 ..............



ShowTooltip.cs에 위 스크린샷과 같이 Start()함수에 위와 같이 코딩을 해주면 됩니다. 일단 string.IsNullOrEmpty (key)라는 것은 key에 있는 값이 null이거나 empty인지를 알려주는 함수입니다. 그래서 이래서 if안에 있는 값이 true일 경우 아래처럼 key라는 값은 위 빨간색 박스에 있는 것처럼 만들어라 하는 내용이 됩니다.




이제 마지막 작업을 하기 위해서 UIRoot에 있는 Camera를 선택하도록 합니다.



위 스크린샷에 보이는 것처럼, Tooltip Delay라는 것을 0.3초로 설정해서, 0.3초만 커서를 놓아 두면 툴팁이 뜨도록 하라는 명령을 내리게 됩니다.



이것으로 툴팁을 실습해 보는데 상당한 시간이 걸리기는 했는데, 어떻게 해서 작업이 완료가 되었다는 것을 알 수 있었습니다. 다음에는 계속해서 유니티 NGUI 게임 프로젝트라는 책의 챕터4를 계속해서 공부를 하다가 그 내용을 정리해서 어떻게 해서 다시 포스팅으로 올리고자 합니다.

반응형