【问题标题】:Script wont delete instantiate in unity脚本不会统一删除实例化
【发布时间】:2022-01-21 03:12:12
【问题描述】:

我有一个脚本会随着时间的推移创建一个克隆并将其删除,但它只会生成它

    public GameObject Obstycle;
public Transform NextSpawn;

public float MaxTimer = 3;
public float Timer = 0;

public void Update()
{
    if(Timer > MaxTimer)
    {
        GameObject newObject = Instantiate(Obstycle);
        Instantiate(Obstycle, NextSpawn);
        Destroy(newObject,3);
        Timer = 0;
    }
    Timer += Time.deltaTime;
}

【问题讨论】:

    标签: c# unity3d instantiation


    【解决方案1】:

    您将 Obstycle 实例化两次:

    GameObject newObject = Instantiate(Obstycle); // 1
    Instantiate(Obstycle, NextSpawn); // 2
    

    因此,当您销毁 newObject 时,仍然有一个活动实例。要么销毁两个实例,要么只创建一个实例:

    GameObject newObject = Instantiate(Obstycle, NextSpawn);
    Destroy(newObject,3);
    Timer = 0;
    

    GameObject newObject = Instantiate(Obstycle);
    GameObject newObjectTwo = Instantiate(Obstycle, NextSpawn);
    Destroy(newObject,3);
    Destroy(newObjectTwo,3);
    Timer = 0;
    

    【讨论】:

      猜你喜欢
      • 2020-02-09
      • 1970-01-01
      • 2018-12-23
      • 1970-01-01
      • 2018-11-14
      • 2021-06-05
      • 1970-01-01
      • 2016-04-01
      • 2022-09-29
      相关资源
      最近更新 更多