유니티 엔진 - 게임 프로젝트/타워 디펜스 게임

UI - 1) UI간의 전환과 UI별 기능 설정

monstro 2026. 6. 30. 16:52
728x90
반응형

- 개요

게임을 구성하는 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간의 전환 + 게임 종료

 

마우스 감도 조절

 

조절한 감도 값 불러오기

 

728x90
반응형