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

유니티5 독학하기 그 85.5걸음-상점 페이지를 다듬는 작업 part2

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

안녕하세요?


지난번 포스팅에서는 Buy버튼을 만들어서 이걸 누를 때 마다 동전의 갯수가 떨어지는 것을 포스팅 했었는데, 여기서는 마이너스의 값까지 떨어져 내려간다는 문제점이 있었습니다. 그래서 이번 포스팅에서는 이 문제를 해결하는 것에 대해서 포스팅을 해 보고자 합니다.



먼저 ShopManager.cs에 가서, 위 스크린샷처럼 if문을 하나 만들어 주도록 합니다.



그리고 동전이 부족하다면, 그 내용을 표시하기 위한 패널을 띄우기 위해서 우선 Kenney.nl에서 받아온 UI Sprite에서 위 스크린샷처럼 필요한 부분을 가져 오도록 합니다.



그리고 Alt+Shift+N으로 새 자식 오브젝트를 만들고 나서, NoMoneyPanel이라고 이름을 짖도록 합니다.



일단 먼저 Sprite Renderer 컴포넌트를 사용했는데......




무슨 문제가 생겼는지, UI용 캔버스에서는 전혀 스프라이트가 뜨지 않는 문제점이 발생하였습니다.



그래서 Canvas Renderer를 집어넣고, Image컴포넌트를 사용하였습니다.



그제서야 제대로 스프라이트가 나오는 것을 볼 수 있었습니다.



그리고 위 스크린샷처럼 버튼이랑 텍스트 컴포넌트도 추가해 주도록 합니다.




위 스크린샷처럼 Not Enough Money라는 문구를 뛰우도록 했습니다. 이제 실제로 작동이 되도록 만들어야 합니다.



다시 ShopManager.cs 스크립트를 찾아가도록 합니다.



그리고 나서 패널에 해당하는 게임 오브젝트 형식의 변수를 먼저 스크립트 상에서 선언해 주도록 합니다.



유니티5 상으로 돌아와서 ShopManager게임 오브젝트를 계층뷰에서 선택하도록 합니다.




그리고 인스펙트 뷰에서 게임 오브젝트를 드레그 앤 드롭으로 넣어 주도록 합니다.



다음으로는 ShopManager.cs 스크립트에서 위 스크린샷처럼 CloseNoMoneyPanel이라는 메소드를 작성해 주도록 합니다.



그리고 패널에서 닫기 버튼에 위 스크린샷처럼 닫히라는 명령을 적어 놓은 버튼을 지정하면 됩니다.



그렇지만 어디가 문제인지 몰라도, 위 스크린샷처럼 유니티5에서 에러가 발생하는 것을 볼 수 있는데, 이게 ShopManager.cs 스크립트에서 무언가가 잘못된 것이라는 것을 알 수 있습니다. 다음 포스팅에서는 이 에러를 수정해서 다시 올릴 것을 약속드리면서, 너무 길이가 긴 관계로 이번 포스팅은 여기서 끊도록 하겠습니다.

반응형