gpt4 book ai didi

c# - Unity - 无法创建多个对象,且创建之间存在延迟

转载 作者:行者123 更新时间:2023-12-02 18:18:43 31 4
gpt4 key购买 nike

我试图让协程每 0.2 秒一次生成一个对象,但是当我运行协程时,它会立即生成多个对象,没有任何延迟。我该如何解决这个问题并达到预期的结果?

我的代码:

        if (shotExtender > 0)
{
StartCoroutine("Timer");
}
else
{
StopCoroutine("Timer");
}

协程

    IEnumerator Timer()
{
while (objCounter < 3)//it should spawn only 3 objects
{
yield return new WaitForSeconds(0.2f);

GameObject bullet = PhotonNetwork.Instantiate(bulletPref.name, bulletPosition, Quaternion.identity);

objCounter++;
Debug.Log("objCounter: " + objCounter + " maxBullets: "+maxBullets);
}
objCounter = 0;
shotExtender = 0;//This stops the coroutine
}

最佳答案

如果此代码在更新内运行

if (shotExtender > 0)
{
StartCoroutine("Timer");
}
else
{
StopCoroutine("Timer");
}

您必须在开始该过程之前完成条件像这样

if (shotExtender > 0)
{
shotExtender = 0;
StartCoroutine("Timer");
}
else
{
StopCoroutine("Timer");
}

关于c# - Unity - 无法创建多个对象,且创建之间存在延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71159347/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com