基本上,我正在尝试将一堆子物体添加到一个GameObject中。父级GameObject被称为SnakeHead
,而所有其他GameObject都被称为SnakeBodyParts
。
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);
}
}
}
看起来 snakeHead.transform.childCount;
的值是1。有人能解释一下这种行为吗?
SnakeHead
和 SnakeBodyPart
都是一个简单的球体,添加到我的项目中作为3D对象。
.childcount
吗? - ryeMossInstantiate<GameObject>(snakeHead);
)之后没有保存对它的引用。你是在编辑器中使用库中的预制件设置了snakeHead吗?还是在游戏世界中使用了一个对象? - Sandy Gifford