我想將所有嵌套在父物件中的物件添加到串列中。子物件是其中的 100 個,它們嵌套在多個游戲物件中。如何通過腳本將它們添加到我的串列中?
public List<GameObject> allObjs = new List<GameObject>();
public GameObject parent;
public void GetAllProducts () {
foreach (Transform g in parent.transform)
{
allObjs.Add(g.gameObject); //Gets only child but not its children
}
}
uj5u.com熱心網友回復:
GameObject 不是組件,因此您不能與 GetComponentXXXXX 一起使用
您可以使用 Transform,因為它是每個游戲物件上的一個組件:
public List<GameObject> allObjs = new List<GameObject>();
public GameObject parent;
public void GetAllProducts ()
{
foreach (Transform tr in parent.GetComponentsInChildren<Transform>())
{
allObjs.Add(tr.gameObject);
}
}
將 true 添加到 GetComponentsInChildren 以查找非活動物件:
parent.GetComponentsInChildren<Transform>(true)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/436233.html
上一篇:如何從腳本在Unity中創建一個視窗并將其附加到現有選項卡?
下一篇:如何通過按鈕上的腳本獲取子文本?
