728x90
Step 1: 메인 화면과 상점 화면 씬 생성
Unity에서는 각 화면을 씬(Scene)으로 관리하게 됩니다. 따라서 우선 메인 화면과 상점 화면을 위한 두 개의 씬을 만들어 보겠습니다.
- 메뉴바에서 File > New Scene를 클릭하여 새로운 씬을 생성합니다. 이 씬은 메인 화면이 될 것입니다.
- 메뉴바에서 File > Save As를 클릭하여 "MainScene"이라는 이름으로 저장합니다.
- 이후 File > New Scene를 클릭하여 다시 새로운 씬을 생성하고, 이번에는 "ShopScene"이라는 이름으로 저장합니다. 이 씬은 상점 화면이 될 것입니다.
Step 2: 버튼 생성 및 디자인
이제 각 화면에서 다른 화면으로 이동하는 기능을 수행하는 버튼을 만들어 보겠습니다.
- "MainScene"을 열고, Hierarchy 창에서 오른쪽 마우스를 클릭하여 UI > Button을 선택합니다.
- Inspector 창에서 버튼의 'Text' 속성을 "Go to Shop"으로 변경합니다.
- 같은 방식으로 "ShopScene"을 열고, "Go to Main"이라는 이름의 버튼을 만듭니다. 이 버튼은 상점 화면에서 메인 화면으로 돌아가는 역할을 합니다.
Step 3: 버튼 기능 구현을 위한 스크립트 작성
버튼에 기능을 부여하기 위해서는 스크립트가 필요합니다. Unity에서는 C# 언어를 사용하여 스크립트를 작성할 수 있습니다.
- Project 창에서 오른쪽 마우스를 클릭하고, Create > C# Script를 선택하여 새 스크립트를 생성합니다. 이 스크립트의 이름을 "SceneManagerScript"로 설정합니다.
- 스크립트를 더블 클릭하여 코드 편집기를 열고, 아래의 코드를 작성합니다:
```csharp
using UnityEngine;
using UnityEngine.SceneManagement;
public class SceneManagerScript : MonoBehaviour
{
public void GoToShop()
{
SceneManager.LoadScene("ShopScene");
}
public void GoToMain()
{
SceneManager.LoadScene("MainScene");
}
}
Step 4: 스크립트 연결
이제 작성한 스크립트를 각 화면에 연결하겠습니다.
- Hierarchy 창에서 빈 공간을 오른쪽 클릭하고, Create Empty를 선택하여 새 GameObject를 생성합니다. 이 GameObject의 이름을 "SceneManager"로 설정합니다.
- "SceneManagerScript" 스크립트를 Project 창에서 끌어다가 "SceneManager" GameObject에 놓아서 스크립트를 연결합니다.
Step 5: 이벤트 설정
이제 버튼을 클릭하면 적절한 함수가 호출되도록 이벤트를 설정하겠습니다.
- Hierarchy 창에서 "Go to Shop" 버튼을 선택하고, Inspector 창에서 'Button (Script)' 섹션의 OnClick () 항목을 찾습니다.
-
- 버튼을 클릭하여 새 이벤트를 추가합니다. 빈 Object 옆의 상자를 클릭하고, Hierarchy 창에서 "SceneManager" GameObject를 선택합니다.
- No Function 드롭다운 메뉴를 클릭하고, "SceneManagerScript.GoToShop" 함수를 선택합니다.
- 같은 방법으로 "ShopScene"에서 "Go to Main" 버튼에 "SceneManagerScript.GoToMain" 함수를 연결합니다.
Step 6: 씬 관리
마지막으로 Unity에서 씬 관리를 설정해야 합니다.
- 메뉴바에서 File > Build Settings를 선택합니다. Scenes In Build 창에서 Add Open Scenes를 클릭하여 "MainScene"과 "ShopScene"을 빌드 설정에 추가합니다. 이렇게 하면 씬 전환 기능이 제대로 작동합니다.
이상으로 메인 화면에서 상점 화면으로 이동하고, 상점 화면에서 다시 메인 화면으로 돌아가는 기능을 Unity에서 구현하는 방법을 설명드렸습니다. 위의 과정을 통해 게임 시작 화면, 설정 화면, 인벤토리 화면 등 다른 화면도 마찬가지로 생성하고 이동할 수 있습니다.
728x90
'Unity' 카테고리의 다른 글
Unity에서 UI 렌더링 순서 변경하기 (겹쳐진 요소 위, 아래 위치 변경) (0) | 2023.08.06 |
---|---|
Unity 에서 VScode 사용하기 (0) | 2023.08.02 |
Unity에서 JSON을 이용해 게임 데이터 유지하기 (골드 저장하고 유지하기) (0) | 2023.08.01 |
Game 에서 해상도 선택하기 (0) | 2023.07.27 |
스마트폰 해상도로 게임 개발하기 (0) | 2023.07.26 |
댓글