我不認爲我完全理解協程,它不按我想要的方式工作,所以我需要幫助。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);
}
我缺少的東西?所有的建議和幫助表示讚賞。謝謝!