Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 协同程序在WaitForSeconds期间执行代码_C#_Unity3d_Game Development - Fatal编程技术网

C# 协同程序在WaitForSeconds期间执行代码

C# 协同程序在WaitForSeconds期间执行代码,c#,unity3d,game-development,C#,Unity3d,Game Development,我正在生成预置并使用一个协同程序,但我可以看到预置之间的随机延迟或空格间隔,这是我在返回新的WaitForSeconds(2.3f)之前运行的函数的原因 我计划执行函数get random number,并在WaitForSeconds()期间检查,而不是在它之前检查,以避免预置之间的随机空格间隔。WaitForSeconds在您所说的秒数内停止该方法的执行。 在此期间不能执行任何操作,这是WaitForSeconds试图避免的(执行代码) 您应该尝试完成代码,但如果延迟是由计算造成的,我建议您

我正在生成预置并使用一个协同程序,但我可以看到预置之间的随机延迟或空格间隔,这是我在返回新的WaitForSeconds(2.3f)之前运行的函数的原因


我计划执行函数get random number,并在WaitForSeconds()期间检查,而不是在它之前检查,以避免预置之间的随机空格间隔。

WaitForSeconds在您所说的秒数内停止该方法的执行。 在此期间不能执行任何操作,这是WaitForSeconds试图避免的(执行代码)

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


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

WaitForSeconds在您所说的秒数内停止该方法的执行。 在此期间不能执行任何操作,这是WaitForSeconds试图避免的(执行代码)

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


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

对不起,我没有跟上。检查随机数与
WaitForSeconds
有什么关系?我只是想在coroutineth的等待期间运行一个函数,这正是等待不起作用的原因。您可能可以使用
WaitWhile
WaitUntil
使用lambda匿名函数来解决此问题,然后您必须手动计算时间。为什么不将此函数写入另一个协程,并在
WaitForSeconds
之前启动该协程?对不起,我没有跟上。检查随机数与
WaitForSeconds
有什么关系?我只是想在coroutineth的等待期间运行一个函数,这正是等待不起作用的原因。您可能可以使用
WaitWhile
WaitUntil
使用lambda匿名函数来欺骗它,然后您必须手动计算时间。为什么不将该函数写入另一个协程,并在
WaitForSeconds
之前启动该协程?
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);
    }
}