【发布时间】:2021-02-23 17:30:42
【问题描述】:
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);
我认为上面的代码是问题所在。你是怎么解决的?
【问题讨论】:
-
这个协程运行的游戏对象是禁用还是销毁?否则
it stops到底是什么意思?得到任何错误?所以你在某个地方改变了Time.timeScale?如果没有更多信息/代码,则无法在此处给出答案...