using UnityEngine;
using UnityEngine.SceneManagement;
public class Title : MonoBehaviour
{
public string sceneName = "SampleScene";
public void ClickStart()
{
Debug.Log("로딩");
SceneManager.LoadScene(sceneName);
}
public void ClickLoad()
{
Debug.Log("로드");
}
public void ClickExit()
{
Debug.Log("종료");
Application.Quit();
}
}
이번 강좌에서는 타이틀 메뉴를 구현하겠다
Load는 나중에 구현하지만 Start와 Exit는 구현한다
새로운 씬을 만들어주고 이름을 GameTitle로 명명한다
새로운 Canvas를 만들어주고...
Canvas에서 인스펙터의 속성을 바꿔준다
Render Mode를 Screen Space - Camera로 바꿔주고
하이러키의 Main Camera를 RenderCamera 슬롯에 넣어준다
Main Cemera의 인스펙터에서 Render Type는 Base로 바꿔준다
이렇게 하면 카메라에 Canvas가 꽉 차게 바뀐다
즉 타이틀 화면의 페이지를 손쉽게 곽 채울 수 있다는 것
케이디님은 강좌에서 안가르쳐 주신다 필독!
이제 Canvas의 하위에 Text레거시 타입을 만들어주고 총 4개의 텍스트를 만들어서...
최종적으로 이러한 화면이 되게 한다
그리고 Start_Text, Load_Text, Exit_Text에 Button컴포넌트를 추가해주고 Animation으로 슬롯을 바꿔준다
이제 이렇게 Animator이 만들어 질 건데...
Highlighted 를 선택해서 10 프레임에 스케일이 1.2배로 반복해서 커졌다가 작아졌다가를 반복하게 애니메이션을 만들어준다
Pressed에는 15프레임에 텍스트의 스케일이 2배정도 커지고 텍스트의 알파값을 0으로 바뀌게 해준다
이렇게해서 Start, Load, Exit 모두 animator을 넣어주고 버튼의 이미지를 만들어 준다
이제 버튼이 역활을 하게 스크립트를 만들어준다
이름은 Title 로 명명한다
좀 휑하지만 이게 전부이다
일단 2번째 줄의 UnityEngine.SceneManagement 를 불러와준다
그뒤 6번줄은 우리가 그 동안 만들은 씬 이름을 넣어준 것이다
이걸 8번째 줄의 ClickStart()함수에서 실행해주는 것이다
간단하게 작성되어서 자세한 설명은 생략한다
이제 이 스크립트를 Canvas에 넣어주고 Panel의 하위에 있는 버튼들에도 역활을 부여한다
Title 스크립트를 넣은 Canvas를 OnClick()의 슬롯에 넣어주고 Start에는 Title.ClickStart를 선택해준다
이런 요령으로 Load와 Exit도 연결해준다
이렇게 해주면...
이렇게 구현이 완료되었다
'FPS서바이벌 디펜스' 카테고리의 다른 글
完.세이브 & 로드 (3) | 2025.06.07 |
---|---|
32.일시정지 메뉴 (0) | 2025.06.06 |
31.수영과 호흡 (0) | 2025.06.06 |
30.물구현과 수영 시스템 (0) | 2025.06.03 |
29.낮과 밤 구현하기 (0) | 2025.06.03 |