반응형


안녕하세요~

유니티 프로젝트 작업중 막히는 부분이 있었습니다.

유니티 UGUI 기능중 inputfield 기능에서 해당 input 클릭후 입력을 하게 되면
commponent 의 on chanaged value 에 등록한 매서드가 호출하게 되곤 합니다.

하지만 input 진입시 판단할 로직이 들어간다면 위와 같이 해서는 안되더라구요

input 진입시 판단할 로직 이후에 맞다면 입력할수 있겟끔 만들어 봤습니다

public class myTemp
{
    public InputField inputfield;
    public Button button_action;

    public bool isReady = false;

     //On change Value 에 넣을 매서드

    public void ChangeText(Text txt)
    {
            txt.text = inputfield.text;
    }



    //버튼에 붙일 매서드
     public void ResponseButton_click()
    {

        if(isReady)
       { 
               if (inputfield.isFocused == false)
             {
                     EventSystem.current.SetSelectedGameObject(inputfield.gameObject, null);
                    inputfield.OnPointerClick(new PointerEventData(EventSystem.current));
              }

      }
    }

}




어떠한 버튼을 누르고 판단 (isReady) 을 한 후에  판단이 맞으면 eventsystem으로 오브젝트를 설정하여 코드상으로
input에 진입하게 되는 코드입니다.

if (inputfield.isFocused == false)에 진입하게 된다면 유니티상 input 필드에 커서가 보일것입니다.

이후 입력된 값은 ChangeText매서드에서 처리가 될것입니다.


이상입니다.


반응형

+ Recent posts