FPS서바이벌 디펜스

33.타이틀 메뉴

ruripanda 2025. 6. 6. 19:11

본 강좌는 케이디님의 유튜브강좌 영상을 보고 유니티6로 구현한 것 입니다 이렇게 멋진 강좌를 만드신 케이디님을 존경합니다

 

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