유튜브 30 - https://youtu.be/as-SPlTl5uM
안녕하세요^^ 지난 시간에 우리는 게임 타이틀과 엔딩까지 아주~~~ 간단히 만들었습니다. 오늘은 스크립트를 통해 제어하는 방법을 배우도록 합니다.

오늘 배울 내용은 다음과 같습니다.
- 빌드 셋팅에 씬 등록하기
- 시작하기 버튼을 통해 게임 시작하기
- 시간이 종료되면 게임이 종료되고 엔딩화면으로 이동하기
- 다시하기 버튼을 통해 게임 다시 시작하기
- 함수 최적화하기(스크립트 최적화)

먼저 각 씬들이 작동되려면 빌드 셋팅에 씬을 등록해야 합니다.

다음과 같이 StartGame 이라는 이름으로 스크립트를 추가하고, 스크립트를 작성합니다. 이 내용은 3강에서 UI 제어하는 부분을 다루었습니다. 어렵지 않을 것입니다.

다음과 같이 시작하기 버튼에 클릭 이벤트를 등록합니다. 물론 시작하기 버튼에는 StartGame 스크립트가 컴포넌트로 등록 되어 있어야 겠지요?

게임화면의 GameManager 스크립트에도 게임이 종료되면 엔딩으로 넘어가도록 스크립트를 수정합니다.

엔딩에 있는 다시하기 버튼도 시작하기 버튼과 동일하게 셋팅해줍니다.

타이틀씬의 시작하기 버튼과 마찬가지로 셋팅하면 됩니다. 참 쉽죠? 3강을 이해하고 왔다면 그리 어렵지 않을거에요. 헷갈린다면 꼭 유튜브 영상을 확인하세요~

여기까지 진행하면 버튼들은 잘 작동합니다. 여기저 만족할 수도 있지만… 가만히 스크립트를 보면 중복되는 부분이 많습니다. 현재 코드야 그리 길지 않으니 별 상관없지만… 만약 이러한 중복 코드가 길다면.. 수정하려면 둘다 해야 하고.. 여간 귀찮은 일이 아닐수 없습니다. 코드의 최적화를 통해 유지, 보수, 수정이 편하도록 수정해보도록 하겠습니다. 다음과 같이 goScene이라는 스크립트를 만들어 줍니다. goScene에서 goScene( ) 메서드는 SceneName이라는 씬으로 이동하는 코드이며, 여기서 SceneName은 아직 할당되지 않았습니다.

이제 기존 시작하기에 있던 코드는 버리고 goScene을 추가한 후, 다음과 같이 SceneName에는 이동할 Main 을 할당합니다. 이벤트도 수정하여 줍니다. 헷갈리다면 유튜브 영상을 보면 쉽습니다.

다시하기 버튼에도 동일하게 수정하여 줍니다. ^^ 참 쉽죠? 안쉽다면… 정말 유튜브 영상을 보세요^^ 정말 쉬워요^^

잘 완성되었다면 다음과 같이 스크립트는 단 두개로 기능은 전과 같이 작동됩니다. 와우^^ 이래서 클래스를 용도별로 만들어 독립적으로 사용하면 편리한 것입니다. 다른 부분은 매개인자로 구별해서 사용하는 것이지요^^ 요 개념이 익숙해지면… 정말 코드를 최적화해서 작성할 수 있습니다.

오늘도 수고하셨습니다. 쇼생크의 작은 망치가 벽을 허물듯이…작은 낙숫물이 바위를 뚫듯이.. 조금 부족하고.. 조금 이해가 안되고.. 어렵더라도… 꾸준히 하면 결국은 목적지에 도달해 있을 것입니다. 중요한 것은… 꾸준함이겠지요.. 그 꾸준함이, 성실함이 재능, 능력이라는 말도 하긴 합니다. 꾸준할 수 있도록… 성실할 수 있도록 해주는 강한 동기부여가 중요한 듯 합니다. 저는.. 진작에 공부하다 중도포기 했을텐데… 요렇게 100일의 카카오프로젝트를 하니.. 하기 귀찮아도.. 하게 되고.. 공부하기 싫어도 하게 됩니다. ^^ 여러분은 어떠신가요? 화이팅입니다. 다음 시간에 또 만나기를 기대합니다. ^^

유튜브 30 - https://youtu.be/as-SPlTl5uM
안녕하세요^^ 지난 시간에 우리는 게임 타이틀과 엔딩까지 아주~~~ 간단히 만들었습니다. 오늘은 스크립트를 통해 제어하는 방법을 배우도록 합니다.
오늘 배울 내용은 다음과 같습니다.
먼저 각 씬들이 작동되려면 빌드 셋팅에 씬을 등록해야 합니다.
다음과 같이 StartGame 이라는 이름으로 스크립트를 추가하고, 스크립트를 작성합니다. 이 내용은 3강에서 UI 제어하는 부분을 다루었습니다. 어렵지 않을 것입니다.
다음과 같이 시작하기 버튼에 클릭 이벤트를 등록합니다. 물론 시작하기 버튼에는 StartGame 스크립트가 컴포넌트로 등록 되어 있어야 겠지요?
게임화면의 GameManager 스크립트에도 게임이 종료되면 엔딩으로 넘어가도록 스크립트를 수정합니다.
엔딩에 있는 다시하기 버튼도 시작하기 버튼과 동일하게 셋팅해줍니다.
타이틀씬의 시작하기 버튼과 마찬가지로 셋팅하면 됩니다. 참 쉽죠? 3강을 이해하고 왔다면 그리 어렵지 않을거에요. 헷갈린다면 꼭 유튜브 영상을 확인하세요~
여기까지 진행하면 버튼들은 잘 작동합니다. 여기저 만족할 수도 있지만… 가만히 스크립트를 보면 중복되는 부분이 많습니다. 현재 코드야 그리 길지 않으니 별 상관없지만… 만약 이러한 중복 코드가 길다면.. 수정하려면 둘다 해야 하고.. 여간 귀찮은 일이 아닐수 없습니다. 코드의 최적화를 통해 유지, 보수, 수정이 편하도록 수정해보도록 하겠습니다. 다음과 같이 goScene이라는 스크립트를 만들어 줍니다. goScene에서 goScene( ) 메서드는 SceneName이라는 씬으로 이동하는 코드이며, 여기서 SceneName은 아직 할당되지 않았습니다.
이제 기존 시작하기에 있던 코드는 버리고 goScene을 추가한 후, 다음과 같이 SceneName에는 이동할 Main 을 할당합니다. 이벤트도 수정하여 줍니다. 헷갈리다면 유튜브 영상을 보면 쉽습니다.
다시하기 버튼에도 동일하게 수정하여 줍니다. ^^ 참 쉽죠? 안쉽다면… 정말 유튜브 영상을 보세요^^ 정말 쉬워요^^
잘 완성되었다면 다음과 같이 스크립트는 단 두개로 기능은 전과 같이 작동됩니다. 와우^^ 이래서 클래스를 용도별로 만들어 독립적으로 사용하면 편리한 것입니다. 다른 부분은 매개인자로 구별해서 사용하는 것이지요^^ 요 개념이 익숙해지면… 정말 코드를 최적화해서 작성할 수 있습니다.
오늘도 수고하셨습니다. 쇼생크의 작은 망치가 벽을 허물듯이…작은 낙숫물이 바위를 뚫듯이.. 조금 부족하고.. 조금 이해가 안되고.. 어렵더라도… 꾸준히 하면 결국은 목적지에 도달해 있을 것입니다. 중요한 것은… 꾸준함이겠지요.. 그 꾸준함이, 성실함이 재능, 능력이라는 말도 하긴 합니다. 꾸준할 수 있도록… 성실할 수 있도록 해주는 강한 동기부여가 중요한 듯 합니다. 저는.. 진작에 공부하다 중도포기 했을텐데… 요렇게 100일의 카카오프로젝트를 하니.. 하기 귀찮아도.. 하게 되고.. 공부하기 싫어도 하게 됩니다. ^^ 여러분은 어떠신가요? 화이팅입니다. 다음 시간에 또 만나기를 기대합니다. ^^