유니티 2021.3.10f1 기준입니다.
처음부터 버튼
1. Hierachy 우클릭 > UI > Legacy > Button 클릭
2. 버튼 이름 변경
나는 EndButton이라고 정했다.
3. 버튼 설정
위치 : 빨간색 선 있는 네모 클릭 -> 원하는 곳에 버튼을 옮긴다.
버튼 크기 : Width, Height 입력한다.
4. 버튼 텍스트 설정
버튼 만들 때 같이 생성된 Text (Legacy)로 이동한다.
Text에 원하는 버튼 이름 입력한다.
Font Size로 크기 정한다.
(Font, Font Style 등도 정할 수 있음)
5. Assets 우클릭 > Create > C# Script 생성
나는 Script 폴더를 만들어서 그 안에 RestartScript 라는 이름으로 만들었다.
6. 스크립트 작성
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class RestartScript : MonoBehaviour
{
// 처음부터 버튼 함수
public void SceneChangeButton()
{
SceneManager.LoadScene("Chapt1");
Debug.Log("처음으로 이동");
}
}
[처음부터] 버튼을 클릭하면 Scene 이동할 수 있도록 using UnityEngine.SceneManagement; 을 맨 위에 추가한다.
Scene 이동을 위한 함수 SceneChangeButton() 함수를 작성한다. (함수명은 원하는 걸로 작성)
SceneManager.LoadScene("이동하고 싶은 Scene이름"); 로 로드될 Scene의 이름을 넣은 코드를 작성한다.
나는 Chapt1로 이동할 것이기 때문에 Chapt1을 넣었다.
나는 제대로 동작하는지 확인하기 위해 Debug.Log()도 넣었다.
7. onClick 추가
On Click()에 있는 +를 클릭한다.
8. 버튼 드래그
Hierachy에 있는 EndButton을 Runtime Only 아래에 있는 박스에 드래그해서 넣는다.
9. 스크립트 추가
RestartScript를 Hierachy에 있는 EndButton에 드래그해서 넣으면 왼쪽 inspector에 해당 스크립트가 추가된 걸 볼 수 있다.
10. Script 함수 추가
다시 On Click()으로 돌아와서 No Function > RestartButton(내가 만든 스크립트 이름) > SceneChangeButton()(내가 만든 함수명) 설정한다.
11. 필요한 Scene 추가
File > Build Settings...으로 이동한다.
Add Open Scenes 버튼을 클릭해서 내가 이동하고싶은 Scene인 Chapt1을 추가한다.
그럼 완성!!
게임종료 버튼
[처음부터] 버튼 만들 때와 똑같으며 스크립트만 다르게 만들면 된다.
게임종료 스크립트
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ExitScript : MonoBehaviour
{
// 게임 종료 버튼 함수
public void ExitButton()
{
Application.Quit();
Debug.Log("게임 종료");
}
}
나는 스크립트 명을 ExitScrpt로 했다.
게임 종료를 위한 함수 ExitButton() 함수를 작성한다. (함수명은 원하는 걸로 작성)
Application.Quit(); 를 작성한다.
나는 제대로 동작하는지 확인하기 위해 Debug.Log()도 넣었다.
'공부 > 유니티' 카테고리의 다른 글
유니티 오브젝트 페이드인/페이드아웃 (0) | 2023.08.20 |
---|---|
유니티(Unity) 타일맵 수정 (0) | 2023.07.13 |
유니티(Unity) 프로젝트 파일(씬) 합치기 (0) | 2023.07.04 |