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

유니티5 독학하기 그 83번째 걸음-크레딧 화면의 구현

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

안녕하세요?


일단 연습이기는 연습이지만, 그래도 일단은 크레딧이라고 제작자 스탭롤을 만들고 싶기는 해서, 일단 구현하는 것을 실습해 보았으며, 그에 따르는 시행착오를 이번 포스팅에서 올려 보고자 합니다.



먼저 게임오버 캔버스에다가 기존에 있던 MainMenu버튼을 Credit버튼으로 이름부터 개명했습니다.



그리고 GameOverCanvas를 복제해서 CreditCanvas로 이름을 바꾸었습니다.



그리고 여기에는 BackButton이라고 해서 다시 게임오버 뷰로 돌아가기 위한 버튼을 만들 예정입니다.



그리고 나서 크레딧 스크롤이 되기 위한 레이블을 복제해서 각각의 내용 등을 적어 놓도록 합니다.



이렇게 해서 일단 크레딧(credit)뷰를 만들어 놓는 데는 성공했습니다.



그리고 이 크레딧뷰는 기본적으로 보이면 안되기 때문에, 위 스크린샷처럼 Canvas 컴포넌트의 활성을 기본적으로 끕니다.



그리고 아직까지는 그냥은 작동하지 않으니, 로직을 짜 놓기 위해서 GameManager.cs 스크립트를 찾아가도록 합니다.




먼저 광역변수에 creditCanvas와 backbutton을 위해서 새로 변수를 추가하도록 합니다.



그리고 나서 유니티5의 계층뷰에서 GameManager를 선택하도록 합니다.



비어있는 변수 선언란에다가 적절한 게임 오브젝트를 집어넣어 주도록 합니다.



다시 GameManager.cs스크립트로 돌아가서, 위 스크린샷처럼 크레딧뷰를 열기 위한 메서드와 다시 닫기위한 메서드를 짜 놓도록 합니다.



그리고 나서 게임오버 뷰에 있는 credit화면을 열기위한 버튼을 선택합니다.



그리고 관련된 버튼의 메서드를 OpenCredit으로 바꾸어 주도록 합니다.



이번에는 크레딧 화면에 있는 Back버튼을 유니티5의 계층뷰에서 선택하도록 합니다.




이 버튼에는 크레딧 화면을 닫기위한 메서드를 지정해 주도록 합니다.



그런데 예상치 못한 에러가 발생하는 것을 볼 수 있습니다. 이 에러가 왜 발생했는가 했더니....



우선 새로 생성된 CreditCanvas 게임 오브젝트를 유니티5에서 선택합니다.



그리고 쓸일이 없는 스크립트가 통째로 복사가 되어 있어서 일어난 에러였기 때문에 이 스크립트 컴포넌트를 삭제해 주도록 합니다.



그런데 이번에는 사운드가 중첩이 되어서 들리는 듯한, 사운드 재생에 문제가 발생하는 것을 알 수 있었습니다. 그래서 이게 어떤 문제인지 몰라서 한참을 헤메었는데, 이 문제 역시 복사해서 생성한 CreditCanvas에.....



AudioSource가 남아서 계속 재생을 해서 생성되는 문제였습니다. 그래서 이 컴포넌트 역시 삭제를 하도록 합니다.



이것으로 간단하게 크레딧화면을 구성하는 것은 끝났습니다.그런데 버튼의 사운드가 잠시 빠진 것 같은 기분이 들기도 하는데, 아무튼 이런저런 문제를 해결하고 나서는 계획대로 그냥 달리기만 해서는 재미가 없기 때문에, 수집한 동전을 가지고서 주인공인 제이크를 업그레이드 할 수 있는 상점씬을 만들 생각인데, 이것은 또 얼마나 힘든 작업이 될지 감이 안 잡힙니다.

반응형