- 개요
게임을 구성하는 UI들을 추가하고 필요에 따라 UI를 전환한다
또, 각각의 UI들에 대한 기능을 추가한다
- 메인메뉴 UI : 기본 제공하는 UI로
- 설정 UI : 게임에서 사용할 수 있는 설정값을 지정하는 UI
- 레벨 선택 UI : 플레이할 게임의 레벨을 선택하는 UI
- 크레딧 UI : 크레딧을 띄우는 UI
위의 UI 중에서 메인메뉴 UI + 설정 UI의 일부 + 크레딧 UI를 작업한다
- 스크립트 작업
1) UI_CreditBtn 클래스

크레딧 UI에서 사용할 UI 클래스를 위와 같이 생성한다
OpenURL 함수를 사용하여 지정한 URL 주소의 웹페이지에 접속한다
2) CameraController 클래스

위 2개의 함수를 추가하여 카메라를 이동시키는 키보드와 마우스의 감도를 조절한다
AdjustKeyboardSensitivity 함수를 호출하여 키보드의 감도를 조절한다
AdjustMouseSensitivity 함수를 호출하여 마우스의 감도를 조절한다
3) UI_MainMenu 클래스

위와 같이 빈 클래스로 구성하여 메인 메뉴 UI의 오브젝트를 가리키는 컴포넌트 용도로 사용한다
4) UI_Canvas 클래스

위와같이 멤버변수를 구성하여 캔버스의 컴포넌트 클래스를 설계한다
- uiElements 멤버변수 : 하위 UI들을 저장
- uiSettings 멤버변수 : 설정 UI의 오브젝트를 가져오는 용도
- uiMainMenu 멤버변수 : 메인 메뉴 UI의 오브젝트를 가져오는 용도

SwitchUI 함수를 호출하여 원하는 UI를 활성화하고 나머지 UI를 비활성화한다

QuitGame 함수를 호출하여 게임을 종료한다

Awake 함수를 위와 같이 구성하여 설정 UI를 활성화하고, 메인 메뉴 UI를 활성화하여
필요한 동작이 수행되도록 설정한다
5) UI_Settings 클래스

설정 UI의 멤버변수를 위와 같이 구성한다
- Camera Controller 멤버변수 : 카메라의 CameraController 컴포넌트
- Keyboard Sensitivity 멤버변수 : 키보드 감도 관련 멤버변수
- Mouse Sensitivity 멤버변수 : 마우스 감도 관련 멤버변수

키보드와 마우스의 감도를 조절하는 슬라이더 UI에 바인딩될 콜백함수들을 위와 같이 설정한다
ChageKeyboardSensitivity 함수를 호출하여 슬라이더의 값에 따라 키보드 감도를 갱신하고, 표시한다
ChageMouseSensitivity 함수를 호출하여 슬라이더의 값에 따라 마우스 감도를 갱신하고, 표시한다

OnDsiaable 함수를 추가하고 위와 같이 구현하여 슬라이더의 값을 로컬에 저장한다
OnEnable 함수를 추가하고 위와 같이 구현하여 로컬에 저장한 슬라이더의 값을 불러와 슬라이더에 반영한다
- 최종 실행 결과



'유니티 엔진 - 게임 프로젝트 > 타워 디펜스 게임' 카테고리의 다른 글
| UI - 3) UI 애니메이션 구현 (1) (0) | 2026.07.07 |
|---|---|
| UI - 2) 인게임 UI 구성 (0) | 2026.07.06 |
| 카메라 - 최종) 메뉴별 카메라 전환 + 카메라 흔들거림 (0) | 2026.06.29 |
| 카메라 - 3) 화면 가장자리 이동 (0) | 2026.06.24 |
| 카메라 - 2) 카메라의 줌 조절과 화면 드래그 (0) | 2026.06.23 |