我不认为我完全理解协程,它不按我想要的方式工作,所以我需要帮助。Unity协程不起作用
我有一个记忆游戏(Simon喜欢),它由4个随机打开和关闭的方块组成。在方形开关打开/关闭之后,应该稍微休息一下,然后切换下一个按钮,而我的程序似乎没有这样做。对于切换过程中,我使用闪烁* Colorname协程这是继:
foreach (int color in pattern)
{
switch (color)
{
case 0:
StartCoroutine (blinkGreen (blinkSeconds));
break;
case 1:
StartCoroutine (blinkRed (blinkSeconds));
break;
default:
break;
}
}
//to do: pause function between button blinks
IEnumerator blinkGreen (float seconds)
{
greenImg.color = Color.white;
yield return new WaitForSeconds (seconds);
greenImg.color = Color.green;
}
我一直在使用waitforseconds试图在2个地方来实现我的目标:首先,在闪烁*颜色如下:
IEnumerator blinkGreen (float seconds)
{
greenImg.color = Color.white;
yield return new WaitForSeconds (seconds);
greenImg.color = Color.green;
yield return new WaitForSeconds (seconds);
}
其次,在循环后,下//做:按钮闪烁之间暂停功能,通过调用另一个协程:
StartCoroutine(waitfornexttransition(5.0f));
IEnumerator waitfornexttransition (float second)
{
yield return new WaitForSeconds (second);
}
我缺少的东西?所有的建议和帮助表示赞赏。谢谢!