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

유니티5 독학하기 그 94번째 걸음-업그레이드 상태의 시각표시 part2

by 인터넷떠돌이 2018. 10. 15.
반응형

안녕하세요?


상점에서 구입한 업그레이드 상태를 시각적으로 표시할 수 있도록 하는 표시를 만드는 작업의 나머지 부분을 포스팅 하는 시간이 왔습니다.



지난번 포스팅의 마지막에 부스터를 표시해 주는 아이콘의 자식 오브젝트를 만들고, 여기다가 Label을 붙여 놓았는데, 이번에는 위 스크린샷처럼 씬뷰에서 위치시켜 놓도록 해서, 아예 눈에 한번에 알 수 있도록 만들어 주도록 합니다.



그리고 나서 다시 ShopManager.cs 스크립트를 찾아가 보도록 합니다.



먼저 text형식의 광역 변수를 만들어 주도록 합니다.



그리고 나서 이 텍스트 형식 변수의 텍스트 내용은 boostPrice의 내용이 되도록 ToString() 이라는 메소드를 붙여서 만들어 주도록 해 봅니다.



먼저 씬을 이제 상점씬에서 test_Game씬으로 바꾸도록 하고, 상점메뉴가 열릴 수 있도록 먼저 LevelGanerator 게임 오브젝트를 선택하도록 합니다.




플레이어 캐릭터가 죽을 수 있도록 구멍이 있는 바닥을 선택해 주도록 합니다.



그런데 위 스크린샷처럼 돈이 없다는 메세지가 나오는데, 뭔가 이상하게 되는 것을 볼 수 있으며...



아차하고 제가 잊었는데, 스크립트 상에서 변수를 지정해 놓고서는 이를 유니티5 상에서 지정해 주는 것을 잊어 버리고 왔습니다. 다시 상점씬으로 가서, 일일히 지정해 주도록 합니다.



상점 씬에서 위 스크린샷처럼 ShopManager 게임 오브젝트를 선택 하도록 합니다.



그리고 필요한 계층뷰의 게임 오브젝트들을 드레그 앤 드롭으로 놓도록 합니다.




에러문제는 해결했지만, 돈이 부족하다는 메세지 판넬의 문제는 여전히 해결이 되지 않았습니다. 먼저 위 스크린샷처럼 일련의 업그레이드 상태를 알려주는 게임 오브젝트들을 유니티5의 계층뷰에서 선택하도록 합니다.



일단 이게 문제인가 싶어서 위 스크린샷처럼 Rect Transform 컴포넌트의 조정을 해 보았습니다. 그러나 결과는 별 차이는 없었습니다.



결국 마지막으로 알아낸 것은, 바로 위 스크린샷처럼 같은 캔버스 밑에 있는 게임 오브젝트들 중에서 가장 아랫쪽에 있는 게임 오브젝트가 제일 맨 위-가장 카메라에 가까운 위치로 올라오게 된다는 것을 볼 수 있습니다.



유니티5의 씬뷰에서 보니, 이제서야 문제가 해결이 된 것을 볼 수 있음을 알 수 있었습니다. 이렇게 하는 것으로 일차적인 문제를 해결 하는 데 성공했고.....



마지막으로 제대로 작동하는 것을 확인할 수 있었습니다. 이렇게 상점에서 구매한 업그레이드의 상태를 확실하게 시각적으로 표시하는 방법을 이제 만들었으니, 다음으로는..... 예, 미처 생각하지 못했는데, 모았는 동전의 갯수가 3000개 이상인 상태에서 Buy를 누르면 업그레이드가 될 수 있으니, 이를 막는 스크립트의 로직을 짜야 하며, 메세지의 박스도 띄워야 하는 문제가 이제 남아 있습니다.

반응형