[적을 프리팹으로 만들기]
bird1 부터 bird5 까지 만드셨다면 씬뷰와 하이어라키뷰에 다섯 종류의 적이 생겼을 것입니다.
이제 이 오브젝트들을 마음대로 가져다 쓸 수 있게 프리팹으로 만들겠습니다.
먼저 프로젝트뷰에서 폴더를 하나 생성해 주시고 폴더의 이름을 Prefab 으로 바꿔줍니다.
만들어준 Prefab폴더에다가 하이어라키뷰에 있는 bird1 부터 bird5를 하나씩 선택해서 드래그하여 넣어줍니다.
그럼 폴더에 들어갔겠죠?
위 이미지처럼 됐다면 프리팹으로 변경된 것입니다. 하이어라키뷰에 있는 bird1,2,3,4,5 는 지워주셔도 됩니다.
[적 자동생성하기]
적들을 프리팹으로 만들어 주었으니 이제 이 프리팹들을 마음껏 생성해주는 녀석을 만들어보겠습니다.
먼저 하이어라키뷰에서 마우스 우클릭 -> Create Empty로 GameObject를 생성해 주시고 이름을 EnemyCreater라고 바꿔줍니다.
그리고 Position을 8, -2.6, 0으로 변경해 주세요.
이 오브젝트에 스크립트를 적용시켜서 적을 자동생성하도록 하겠습니다.
프로젝트뷰의 Script 폴더에 스크립트 하나를 생성해 주시고 이름을 CsEnemyCreater 라고 바꿔줍니다.
CsEnemeyCreater 스크립트를 작성해 주세요.
작성된 스크립트를 하이어라키뷰의 EnemyCreater에 드래그해서 넣어주세요.
그리고 하이어라키뷰의 EnemyCreater를 선택하고 프리팹을 연결해 줍니다.
프리팹 연결까지 완료되었으면 게임을 실행해 보세요. 자동적으로 적이 생성되어 간단한 런게임의 모습을 갖췄습니다.
[메인화면 만들기]
게임이라면 당연히 게임을 시작하기 위해 게임스타트버튼 정도는 있어야겠죠?
그래서 메인화면을 만들고 메인화면에 스타트버튼을 만들어서 게임이 진행되도록 하겠습니다.
먼저 Ctrl + S 단축키를 눌러 현재의 씬을 저장해 주시고
유니티 상단 메뉴의 File -> New Scene 으로 새로운 씬을 생성해 주세요.
그럼 씬뷰와 하이어라키뷰에 아무것도 없는 새로운 씬이 생성됩니다.
먼저 하이어라키뷰의 MainCamera를 선택해서 Size를 3.8로 설정해 줍니다.
그리고 배경이미지를 넣어주겠습니다.
프로젝트뷰의 Sprite 폴더에서 main_background 스프라이트를 드래그해서 하이어라키뷰에 놓아주세요.
그럼 배경이미지가 깔리겠죠?
이제 스타트버튼을 만들어 보겠습니다. 잘 따라 오셔야합니다.
먼저, 하이어라키뷰에서 마우스 우클릭 -> UI -> Canvas
그럼 하이어라키뷰에 Canvas 가 생기게됩니다.
이 Canva를 클릭하여 선택하여 주시고 인스펙터를 조정하겠습니다.
Render Mode 를 ScreenSpace - Camera로 바꿔줍니다.
Render Camera 에 하이어라키뷰의 MainCamera를 끌어다 넣습니다.
Plane Distance 를 1로 변경합니다.
UI Scale Mode 를 Scale With Screen Size 로 변경합니다.
이제 Canvas의 셋팅이 완료되었습니다.
다음으로 버튼을 만들어보겠습니다.
하이어라키뷰의 Canvas 를 마우스포인터 아래에 두고 마우스 우클릭을 누릅니다. 그리고 UI -> Button 선택
Canvas의 하위에 Button이 만들어진게 보이시나요?
Button을 만드셨으면 버튼 하위의 Text가 있을 것입니다. Text는 Delete 키로 지워주세요
Button은 기본적으로 하얀 박스 모양을 하고 있는데 이미지를 바꿔 다르게 바꾸겠습니다.
Button을 선택하시고 프로젝트뷰의 Sprite 폴더 안에 Start_Button 이미지를 인스펙터뷰의 Source Image에 끌어다 넣어줍니다.
그리고 Scale 을 조정하여 크기를 조절합니다.
게임뷰를 보시면 아래 이미지처럼 나오시나요? 이렇게 안된다면 다시 한번 확인해 주세요.
여기까지 완성하셨다면 게임을 실행해서 버튼을 눌러보세요. 아직은 아무런 반응도 하지 않을겁니다.
이제는 버튼을 눌러서 인게임 화면으로 씬전환이 되도록 하겠습니다.
먼저 프로젝트뷰의 Script 폴더에 스크립트를 하나 생성해주시고 스크립트 이름을 CsButton 이라고 바꿔줍니다.
스크립트를 작성해 주세요
작성이 완료되셨다면 CsButton 스크립트를 하이어라키뷰의 Canvas에 드래그해서 넣어줍니다.
그리고 하이어라키뷰의 Button을 클릭하고 인스펙터창을 맨 아래로 내려주세요.
그럼 On Click() 이라고 되어있는 부분이 보이실 겁니다.
이 On Click() 이라는 기능을 통해서 버튼의 클릭처리를 할 수 있습니다.
플러스모양 버튼을 눌러 항목을 추가해 주세요.
플러스 모양 버튼을 누르게 되면 이렇게 변할겁니다. 잘 되셨나요?
그럼 바뀐 부분에 None라고 적혀있는 공간이 생겼습니다. 여기다가 하이어라키의 Canvas를 끌어다 넣어주세요.
그럼 Canvas가 등록이 됐죠?
여기서! No Function 이라고 되어있는 부분을 클릭하셔서 CsButton을 선택하시고 StartGame()을 선택하세요.
이제 버튼 처리까지 끝났습니다! 게임을 실행시켜서 버튼을 눌러보시면 아마 게임화면으로 넘어가지 않을 것입니다.
왜냐하면 씬등록이 안되어있기 때문입니다.
그럼 씬을 어떻게 등록시키는지 알아보도록 하겠습니다.
먼저 유니티 상단 메뉴바의 File을 클릭하고 Build Settings를 클릭합니다.
그럼 이런 창이 뜨는데
씬 설정은 이 부분에서 합니다.
이 부분에 만들어둔 씬을 추가해야 씬 전환이 적용됩니다. 방법은 아래의 Add Current만 눌러주시면 됩니다.
저희가 두개의 씬을 만들었기 때문에 두개가 등록이 되야하며 하나밖에 등록이 안되셨으면 다른 씬을 불러오신 후에 등록을 해주셔야 합니다.
또 주의 하실점은 메인화면의 씬이 맨 위에 위치하게 해서 0번 인덱스가 되게 해야합니다. (항목을 드래그하면 움직일 수 있습니다.)
모든 씬을 등록하셨고 순서에 주의하여 배치하셨다면 다시 메인화면 씬으로 돌아서 게임을 실행하고 버튼을 클릭해보세요.
버튼을 누르면 게임화면 씬으로 이동하게 될 것입니다.