协程在等待秒期间执行代码



我正在生成预制件并使用协程,但我可以看到预制件原因之间的随机延迟或空格间隙,因为我在收益返回新的 WaitForSeconds(2.3f( 之前运行的函数的预制件原因;

IEnumerator SpawnObject()
{
    while (true)
    {
        GameObject screenShape = (GameObject)Instantiate(screenlines, new Vector3(ShapespawnerObjPos.transform.localPosition.x, shapeposition[GetFirstIndexlistofIntShapePosition()], ShapespawnerObjPos.transform.localPosition.z), transform.rotation);
        //function get random number with checking called here 
        yield return new WaitForSeconds(2.3f);
    }
}

我打算做的是在 WaitForSeconds(( 期间而不是之前执行函数获取随机数,以避免预制件之间的随机空格间隙。

WaitForSeconds 停止执行该方法的秒数。在此期间,您无法执行任何内容,这就是WaitForSeconds试图避免的(执行代码(。

您应该尝试完成代码,但如果延迟是由计算引起的,我建议您在 Start 方法中创建一个生成的数字的数组/列表并使用该列表而不是在"运行时"计算它......您可以在该列表上循环或在每次用完数字时生成一个新列表,您仍然可以避免生成该计算的多个实例,这样,您应该能够避免随机延迟。

不过,请记住,我只看到了您的部分代码,所以我无法确定延迟的原因。

相关内容

  • 没有找到相关文章

最新更新