이번엔 Option창을 만들건데, 마우스 감도에 대해서만 일단 만들어 볼 것이다.
UI 만들기

Slider를 두개 만들고, 각각 X민감도, Y민감도로 정한다. Back은 다시 Option창으로 되돌아 간다.
코드작성하기
UIManager
[SerializeField] GameObject optionPanel;
public void InterruptUI(bool myBool) // 일시정지시 표시되는 UI
{
InterruptObject.SetActive(myBool);
optionPanel.SetActive(false);
}
public void OptionUI(bool myBool)
{
InterruptObject.SetActive(!myBool);
optionPanel.SetActive(myBool);
Debug.Log("옵션");
}
// public void OptionBack()
// {
// optionPanel.SetActive(false);
// InterruptObject.SetActive(true);
// }
InterruptUI에서는 optionPanel의 비활성화를 관리해서, Option창에서 ESC를 통해 게임 플레이 화면으로 넘어간 이후 다시 ESC키를 눌러 일시정지 창으로 왔을때 Option창이 보이지 않도록 한다.
OptionUI함수는 받은 bool값에 따라 일시정지창과 옵션창을 비/활성화 하는 기능을 한다.
GameManager
public void GameOption() // 일시정지 상태에서 Option 버튼을 눌렀을 때,
{
UIManager.Instance.OptionUI(true);
Debug.Log("설정창");
}
GameOption에서는 OptionUI를 true값을 넣어 호출한다.

Back Button의 경우 OptionUI창에 false값으로 호출하여 옵션창을 닫고, 일시정지 창을 연다.
슬라이더로 값 변경하기
CameraMovement
[SerializeField] float sensitivityX;
[SerializeField] float sensitivityY;
public void SetSensitivityX(float value) => sensitivityX = value;
public void SetSensitivityY(float value) => sensitivityY = value;
카메라의 X,Y 민감도를 조절하기 위해 람다식으로 함수를 만든다. float값을 받고, 그 값을 카메라 민감도값에 넣는다.
그리고 이 함수들을 각각의 슬라이더 값 변경에 호출되게끔 한다.

이때, Dynamic float에서 함수를 가져와야 바로 변경되는 value의 값을 가져올 수 있다.
이렇게 사용하기 위해서는 함수에 float 매개변수가 있어야 한다.

'GameDev > Cubidom' 카테고리의 다른 글
| Cubidom 시인성 향상2 (0) | 2026.04.01 |
|---|---|
| Cubidom 시인성 향상1 (0) | 2026.03.31 |
| Cubidom 일시 정지 만들기 (0) | 2026.03.29 |
| Cubidom 대포알 제거, 카메라 제어 보완 (0) | 2026.03.28 |
| Cubidom 대포 자동 에임 시스템 (0) | 2026.03.27 |