Program/Unity 2023. 8. 18. 11:40

UGUI 를 사용하다보면 Inspector에서 함수 연결시

OnValuChanged (변화하는값)  입력하는 값들이 있다.

 

여기에 기존 버튼에 함수 넣는거처럼 함수를 만들어서 넣게 되면.

 

해당 함수는 static parameter 를 받아 값을 0밖에 받아들이지 못한다.

 

이럴때  Dynamic  으로 등록을 시키면 되는데.

버튼을 등록시킬때 같은이름의 함수가 Dynamic 으로 등록되어있을것이다.  그걸 넣어주면 된다.

넣어주고 나면 값 입력시키는 곳이 사라지고.  변화한 값을 잘 받는다.

 

 

인스펙터 말고 코드에서 등록시키도  잘 동작한다.

 

using UnityEngine;
using TMPro;

public class TestSc : MonoBehaviour
{
    [SerializeField] private TMP_Dropdown dropdown;
    private void Start()
    {
        dropdown.onValueChanged.AddListener(ClickTest);
    }
    public void ClickTest(int changedValue)
    {
        Debug.Log("ClickTest = " + changedValue);
    }
}

 

 

 

가끔 물어보는 사람이 있어서..  적는

posted by 헛소리
: