본문 바로가기

Unity3D/C#

UI Slider 기능 할당/삭제 (최솟값/최댓값/숫자로 변환) in Script

반응형

UI Slider 기능

 

Unity3d UI에서 기본적으로 제공하는 Slider를 기본적으로 제공합니다. 슬라이더는 웹 서비스나 다양한 플랫폼에서 프로그램을 사용했다면 한 번쯤은 봤을 것입니다. 기다란 막대가 있고 막대 안에는 동그란 혹은 네모난 버튼이 있어서 그 버튼을 누른 상태로 끌어다가 옮기면 색상이나 특정 수치를 바꿔봤을 것입니다. 슬라이더는 막대 안에 있는 버튼을 드래그해서 버튼의 상대적인 위치를 통해 값을 얻을 수 있습니다. 예를 들어 비디오 플레이어의 시간 바를 움직이거나 소리의 음량을 슬라이더로 조절할 수 있습니다. 슬라이더는 기본적으로 최솟값과 최댓값을 가지고 있는데 변수 화가 잘 되어 있습니다. 이 변수를 얻거나 설정할 수 있습니다. 슬라이더 함수는 기본적으로 float 값을 매개변수로 사용하는데 wholeNumbers라는 변수를 통해서 float 값이 아닌 숫자 형태(int)로 값을 반환할 수도 있습니다. 숫자를 이용한 서비스라면 이 기능은 매우 유용할 것입니다.

 

 

C# (UNITY 3D)

 

 

슬라이더

가운데에 있는 슬라이더를 클릭한 상태로 움직이면 초기 설정한 0~100 사이의 값을 얻습니다. Get 버튼을 누르면 현재 슬라이더가 위치해 있는 값을 얻을 수 있습니다.

 

 

using UnityEngine.UI;

 

UI의 Slider와 Button을 사용하기 위해 UnityEngine.UI가 필요합니다.

 

 

 

슬라이더를 움직였을 때 값을 표시할 Text와 Get 버튼을 눌렀을 때의 슬라이더 값을 표시할 Text, 기능을 넣어줄 Slider와 Button을 할당해 줍니다.

 

 

 

    public Text message;
    public Text result;
    public Slider slider;
    public Button button;

    private int min = 0;
    private int max = 100;
        

    void Start()
    {
        SetFunction_UI();
    }

    //CodeFinder
    //From https://codefinder.janndk.com/
    private void SetFunction_UI()
    {
        //Reset
        ResetFunction_UI();

        button.onClick.AddListener(Function_Button);
        slider.onValueChanged.AddListener(Function_Slider);
        
    }
    
    private void Function_Button()
    {
        result.text = slider.value.ToString();
        Debug.LogError("Slider Result!\n" + slider.value);
    }
    private void Function_Slider(float _value)
    {
        message.text = _value.ToString();
        Debug.Log("Slider Dragging!\n" + _value);
    }

    private void ResetFunction_UI()
    {
        button.onClick.RemoveAllListeners();
        slider.onValueChanged.RemoveAllListeners();
        slider.maxValue = max;
        slider.minValue = min; 
        slider.wholeNumbers = true;
    }

 

변수(variable)
message : 슬라이더를 드래그해서 움직였을 때 값을 메시지로 표시(Text)

result : Get 버튼을 눌렀을 때 슬라이더의 현재 값을 표시(Text)

slider : 기능을 할당할 슬라이더(Slider)

button : 기능을 할당할 버튼(Button)

min : 슬라이더의 최솟값 (int)

max : 슬라이더의 최댓값 (int)

함수(function)
SetFunction_UI : 기존에 있던 UI 관련 기능은 모두 삭제하고 버튼과 슬라이더에 기능을 할당 (초기 UI의 기능을 할당해야 할 타이밍에 삽입)

Function_Slider : 슬라이더를 드래그했을 때 함수 발동, 반환 값은 float 값을 반환
Function_Button : 버튼을 눌렀을 때 함수 발동

ResetFunction_UI : 슬라이더와 버튼 기능 전체 삭제하고 슬라이더의 maxValue(최댓값), minValue(최솟값), wholeNumbers(숫자로만 표시할지 여부) 설정


 

 

 

UI / Slider / Button / AddListener/ wholeNumbers / RemoveAllListeners / onValueChanged / OnClick / min / max

 

 

 

반응형