본문 바로가기
KDT/유니티 심화

23/09/05 LearnUGUI (InputField)

by 잰쟁 2023. 9. 5.
728x90

ㅜㅡㅜ 나는 말하는 감자.............

 

처음에 아래와 같이 코드를 썼는데

using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;

public class Test01InputField : MonoBehaviour
{
    private TMP_InputField input;

    void Start()
    {
        this.input = this.GetComponent<TMP_InputField>();
        this.input.onValueChanged.AddListener((str) =>
        {
            Debug.Log(str);
        });
        //Debug.Log(input);
    }
}

밑에와 같이 콘솔 부분에 입력한 값이 뜨지 않았다ㅜㅡㅜ,,

 

 

옆 자리 천사가 오류가 왜 났는지 알려주었다ㅎㅎ

 

스크립트를 붙인 곳이 InputField가 실제로 붙어있지 않은 부모이기 때문에

InputField를 실행하기 위해서는 아래 자식(children)으로 컴포넌트를 붙여야함!

 

따라서 GetComponent => GetComponentInChildren으로 바꿔줘야 실행이 된다!

using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;

public class Test01InputField : MonoBehaviour
{
    private TMP_InputField input;

    void Start()
    {
        this.input = this.GetComponentInChildren<TMP_InputField>();
        this.input.onValueChanged.AddListener((str) =>
        {
            Debug.Log(str);
        });
        //Debug.Log(input);
    }
}

행복하다,,,