等待几秒钟停止症状(Unity)

时间:2021-02-23 17:30:42

标签: c# unity3d

private void Start() 
{ 
    DataController.GetInstance().LoadItemButton(this); 
    StartCoroutine("AddMoneyLoop"); 
    UpdateUI();
}

IEnumerator AddMoneyLoop()
{
    while(true)
    {
        if(isPurchased)
        {
            DataController.GetInstance().AddMoney(moneyPerSec);
        }
        //Thread.Sleep(2000);
        yield return new WaitForSeconds(1.0f);
    }
}

我用上面的代码进行了编码。 我希望 AddMoney 每秒循环一次。 但重复3~6次后停止。

yield return new WaitForSeconds(1.0f);

我认为上面的代码是问题所在。你是怎么解决的?

1 个答案:

答案 0 :(得分:-1)

根据您的其余代码,它很可能会被垃圾收集。您应该在启动它时将其分配给类中的一个字段。