将游戏对象实例化为主对象的子对象

本文关键字:对象 实例化 游戏 | 更新日期: 2023-09-27 18:33:07

这是一种将游戏对象实例化为 main 子对象的方法吗?这是我的代码示例

void MakeCubes ()
{
    GameObject cubes = Instantiate (Cube) as GameObject;
    cubes.AddComponent <CubeScript> ();
    cubes.SetActive (true);
}

每次销毁前一个时,我都会调用 MakeCube() 函数。我问这个是因为我在游戏中提供了选项,如果你失去了生命,你可以继续玩。目前的情况是,当你继续玩游戏时,分数不算数。例如。如果我打 5 个立方体。我得了5分,然后我失去了"生命"。我按继续。我可以打立方体,但它们不算数。当我击中 5 个立方体时,它不计入当前分数。但是当我打到第六个立方体时,它从分数 5 数到 6。

将游戏对象实例化为主对象的子对象

Parenttransform的属性,因此您可以使用变换来获取此属性。好吧,在您的情况下,您可以执行以下操作,

void MakeCubes ()
{
    GameObject cubes = Instantiate (Cube) as GameObject;
    cubes.AddComponent <CubeScript> ();
    // Replace YOUR_PARENT_GO from your parent GameObject
    cubes.transform.parent = YOUR_PARENT_GO.transform;
    cubes.SetActive (true);
}

你可以起诉transform.SetParent()。Unity 文档:Transform.SetParent

您可以为层次结构中已存在的内容设置父级:

gameObject.transform.parent = GameObject.Find("游戏对象名称").transform;