티스토리 뷰

반응형


< 이 글은 PC버전에 최적화 되어 있습니다. >




안녕하세요. Base Of Coding입니다. 이번에 배워 볼 것은, 각각의 씬 이동을 어떻게 하는 지를 알아보겠습니다.



시작하겠습니다.



1 ) 프로젝트 생성

- 6장, 7장 내용들을 숙지하신 분들은 아실거라 믿고, 잘 모르시는 분들은, 6,7장 내용을 보고 와주시기 바랍니다.


2 ) 두 개의 씬을 생성하여, 각각 씬에 버튼을 생성

- 두 개의 씬을 만들어서, 한 씬에는 1번 Scene 이동이란 버튼, 또 다른 한 씬에는, 0번 Scene 이동이란 것을 만들어서 사용할 예정입니다.

생성 예 )

1. 버튼 생성



2. 텍스트 변경


이 부분까지 끝나셨다면 Ctrl + S를 클릭 또는 왼쪽 상단에 있는 File -> Save Scenes를 클릭하여, 씬을 저장해주세요.


편의상 이름은, Scene1이라고 하겠습니다.


Project창에, 저장 된 이름의 씬이 있다면 저장이 된 것입니다. 그럼 이 저장된 씬을 클릭하고, Ctrl + D를 입력해보세요.



그럼 이렇게 씬이 복제되어, Scene2라는 이름의 씬이 생성되셨을겁니다. 그럼 Scene2라는 씬을 더블클릭해서, 씬을 변경해서

그 버튼의 Text를 0번 Scene 이동이라고 변경해주세요. 

저장도 물론 해주시구요!




3 ) 코드를 작성하여, 각각 버튼에 줄 이벤트를 작성해보도록 하겠습니다.

- 지금 예제는 간단하게 씬을 이동하려고 하는 것이기 때문에, 비동기 씬 로딩과 같은 방식은 사용하지 않겠습니다.

각각의 씬에, 빈 오브젝트를 하나씩 만들어주세요.


1. 빈 오브젝트 만들기



이렇게 빈 게임오브젝트를 넣으실 때, position값이 0,0,0으로 설정되어 있는 지 확인해주세요. 굳이 안 맞추셔도 상관은 없지만, 그냥 Manager 역할을 하는 오브젝트는

0,0,0으로 대부분 설정을 많이 합니다. Transform에서, 톱니바퀴 모양의 아이콘을 클릭하고, Reset을 클릭하면, 기본값으로 설정이 됩니다.


2. 스크립트 생성



SceneTest라는 스크립트를 생성하여, 빈 오브젝트에 넣어주었습니다. 그리고, SceneTest라는 컴포넌트에 있는 Script 옆에, SceneTest를 더블클릭해주세요.


그럼 VS2017이 나오게 되고, 코드 작성을 해보도록 하겠습니다.


3. 코드 작성하기

1
2
3
4
5
6
7
8
9
10
11
12
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
 
public class SceneTest : MonoBehaviour 
{
    public void SceneTestClickListener(int sceneNumber)
    {
        SceneManager.LoadScene(sceneNumber);
    }
}


이렇게 코드를 작성해주세요. 


4. 해당 이벤트 함수, 버튼에 넣어주기



이렇게 코드로 작성한, 해당 이벤트를 버튼에 넣어주는 방법까지 끝냈습니다.


그럼 이제 Scene2에 있는 버튼에도 이벤트를 넣어줘야하는데 어떻게 넣어야되지? 라고 생각하신다면, Prefab이란 것을 만들어주어, 해당 Prefab을 Scene2에 넣어주면 됩니다. Prefab은 어떻게 만드는것이냐?라고 하신다면


빈 게임오브젝트를 Project창에다가 드래그 앤 드롭하면 끝입니다. 이렇게요!



그리고, 해당 프리팹을, Scene2로 넘어가서, 다시 하이어라키창에 드래그 앤 드롭해주세요.



Scene2에 프리팹이 잘 넣어졌습니다. 그럼 똑같이 아까처럼 버튼에 이벤트를 주고, 매개변수로 0을 입력해주세요.


왜냐하면, 첫 번째 Scene의 번호는 0부터 시작이 됩니다. 코딩을 배워보신분이시라면 배열의 인덱스 개념이라고 생각하시면 됩니다.


그리고 씬 이동은, 굳이 번호가 아닌 문자열로도 할 수 있지만, 이렇게 2개밖에 없는 경우는 굳이 문자열을 사용하지 않겠습니다. 0번 또는 1번만 반복하는 예제이기 때문이죠.


이제 모든 씬에 있는 Button에 이벤트를 넣어주시고, Scene1에 있는 Button은, 1이란 매개변수, Scene2에 있는 Button에는 0이란 매개변수가 입력되셨다면,


플레이를 한번 해보죠.


4 ) 씬 이동해보기

- 자 이제 Play 버튼을 클릭하고, Scene을 이동해볼까요?


이상하다라고 생각하실 겁니다. 


'왜 똑같이 다 따라했는데, 계속 Scene2 또는 Scene1에서만 머무르고 있지??!!'


자 저희는 설정을 하지 않은것이 하나 있습니다. Build Setting에서, 각각의 씬을 넣어줘야 씬 이동이 가능해지게 됩니다.


한번 씬을 넣어볼까요?



이렇게 넣어주시고, 시작을 해볼까요??



- 굿굿!아주 잘 작동이 됩니다. 이렇게해서, 간단하게 씬 이동하는 방법을 알아보았습니다.


지금까지 Base Of Coding이였습니다. 감사합니다.


- 이 글에 도움이 되셨다면, 공감(♡) 버튼과 댓글 부탁드리겠습니다. - 




반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함