我正在尝试查找位于
Title
对象上的文本组件。我的脚本位于 Cat 对象上:
private TMP_Text titleText; // Also tried private TextMeshPro titleText;
private void Awake()
{
titleText = GetComponent<TMP_Text>();
Debug.Log(titleText); //always NULL
titleText.text = "Test"; // NullReferenceException: Object reference not set to an instance of an object
}
我已经尝试过
TextMeshPro
和TMP_Text
。我也尝试过循环遍历子项,但我的理解是 GetComponent()
应该递归地执行此操作。
GetComponent
函数仅查找调用它的对象的组件。由于您的脚本附加到 Cat 对象,因此该函数会查找也附加到 Cat 对象的 TextMeshPro 组件。如果要查找文本,则必须调用 Title 对象的 get GetComponent
函数,可以使用 GetChild
函数找到该对象,如下所示:
titleText = transform.GetChild(0).GetChild(1).gameObject.GetComponent<TMP_Text>();