所以基本上我試圖添加一堆孩子到GameObject。父遊戲物體被稱爲SnakeHead
而所有其他GameObjects被稱爲SnakeBodyParts
GameObject不允許超過一個孩子
public class GameController : MonoBehaviour {
public GameObject snakeHead;
public GameObject snakeBodyPart;
public List<GameObject> snakeBodyParts;
void Start() {
snakeBodyParts = new List<GameObject>();
Instantiate<GameObject>(snakeHead);
for (int i = 0; i < 4; i++)
{
var newObj = Instantiate<GameObject>(snakeBodyPart);
newObj.transform.position = new Vector3(snakeHead.transform.position.x, snakeHead.transform.position.y - (i + 1), 0);
newObj.transform.SetParent(snakeHead.transform);
snakeBodyParts.Add(newObj);
}
}
}
所以looke像snakeHead.transform.childCount;
爲1。任何人都可以向我解釋這種行爲? SnakeHead
和SnakeBodyPart
都是一個簡單的球體,作爲3D對象添加到我的項目中。
當您在調試器中運行並暫停時,您是否可以在編輯器中看到其他孩子? –
你可以顯示你在哪裏調用'.childcount' – ryeMoss
@SandyGifford除了SnakeHead,我還會看到其他5個GameObject(SnakeBodyPart和4個克隆的原始)。所以奇怪的是,snakeBodyParts的原始版本是SnakeHead的一個孩子,而我在這個for循環中實例化的所有克隆都沒有。 – user2877820