仅实例化一次

本文关键字:一次 实例化 | 更新日期: 2023-09-27 18:34:20

如何只实例化一次?此脚本会持续创建克隆。

GameObject[] cubeParticules;
void OnTriggerEnter()
{
foreach(GameObject part in cubeParticules) 
{   
    Instantiate(part, temp1, Quaternion.identity);
}
}

没有脚本附加到立方体

仅实例化一次

foreach术语(如果不够明显的话)对符合条件的每个对象执行包含的代码;在本例中:对于cubeParticles数组中包含的每个游戏对象。

编辑后:此外,您的碰撞体可能在多个入口点相互接触。

尝试使用在对象启动后设置的布尔标志,然后在 OnTriggerExit() 中重置。

下面是一些示例代码:

void OnTriggerEnter()
{
    ...
    if (!instantiated)
    {
        foreach(GameObject part in cubeParticules) 
        {   
            Instantiate(part, temp1, Quaternion.identity);
        }
    ...
        instantiated = true;
    }
    ...
}
void OnTriggerExit()
{
    ...
    instantiated = false;
    ...
}

我希望这有所帮助!