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

유니티5 독학하기 그 84번째 걸음-업그레이드를 위한 shop씬을 여닫기part3

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

안녕하세요?


이전 포스팅에서는 새로 스크립트를 만들 때 줄 바꿈이 문제가 되어서 비쥬얼 스튜디오 2017에서 어떻게 하면 이 문제를 해결하는 것 까지 포스팅을 하였습니다. 그리고 이번 포스팅에서 본격적으로 Shop_Scene과 test_Game씬을 오고가는 것을 보여 주고자 합니다.



계속해서 버튼을 만들어 놓기는 했는데, 무슨 일이 생겼는지 전혀 버튼이 작동하지 않았습니다. 그래서 혹시나 해서 버튼의 레이어를 UI로 바꾸기는 했습니다만, 여전히 버튼이 작동되지 않았습니다.



그래서 하는 수 없이 test_Game씬에 있는 PlayButton을 가지고 와 보았습니다.



어디가 문제인가 했더니, 이번에 눈에 들어온 것이 바로 이 EventSystem입니다.



이 이벤트 시스템이 예전에 공부를 하였는 유니티5.x와 함께하는 C# 첫걸음 이라는 책에서는 단순히 정보를 주고 받는 것만 말을 하였습니다만.........



이게 문제인가 싶어서 하는 수 없이 일단 Shop_Scene에다가 EventSystem이라는 게임 오브젝트를 만들도록 합니다.




일단 이렇게 EventSystem이라는 게임 오브젝트를 만들고, Event System이라는 컴포넌트와 Standardalone Input system이라는 컴포넌트를 넣었더니, 일단 Shop_Scene씬에서 test_Game씬까지는 넘어가는 것을 확인할 수 있었습니다. 이제 test_Game씬에다가 새로운 UI용 스프라이트를 만들어 주도록 합니다.



그리고 test_Game씬으로 가서, 이번에는 게임오버씬에서 ShopButton이라고 Shop_Scene씬으로 갈 수 있도록 만들어 주는 버튼을 만들어 줍니다.



일단 것 보기에는 새로운 버튼이 만들어 진 것을 볼 수 있습니다.



그리고 로직을 짜 놓기 위해서 GameManager.cs 스크립트를 찾아 가도록 합니다.



그리고 나서 위 스크린샷처럼 OpenShopScene()이라는 메소드를 작성해 주도록 합니다.




이제 다시 유니티5로 돌아와서 ShopButton을 선택하도록 합니다.



버튼의 소리가 필요하기도 하기에, 아예 새로운 AudioSource 광역변수도 하나 선언해 줍니다.



위 스크린샷의 메소드를 ShopButton에 지정을 해 주도록 합니다.



일단 지금까지는 제대로 Shop으로 이동을 하는 것 까지는 확인을 할 수 있었습니다. 그런데 LoadSceneMode가 Single로 되어 있어서 인지 게임이 menu화면으로 가는 것을 볼 수 있는데, 이 문제도 하나하나 해결해야 겠다는 생각이 듭니다. 이게 해결이 되고 나서는 다음으로는 test_Game씬에서 모은 동전의 갯수가 연동이 되도록 해 보고자 합니다. 이번 작업으로 알게 된 것인데, 버튼을 구현하기 위해서는 저 EventSystem이라는 것을 아예 만들어야 한다는 것을 이제서야 알았습니다. 이것을 몰라서 정말 많은 시간을 허비해야 했습니다.

반응형