-1
我想製作一個西蒙遊戲。很明顯,當顯示一種顏色時,應該等待一秒鐘左右。當遊戲展示你要做什麼時,我創建了一個腐肉鹼。在協程裏面,它應該先暫停,當我運行遊戲時,它會停下來。然後它會通過並選擇一種顏色和東西。然後它應該循環備份(我做了一個循環)並再次暫停,然後再做一切。問題是,暫停只是第一次。然後它顯示其他顏色半秒鐘後結束。我不明白爲什麼一旦它循環,似乎除了暫停之外什麼都做。這裏是我的代碼:Unity C#協程不工作
void Update() {
if (show == true) {
StartCoroutine(Show());
}
}
IEnumerator Show() {
do {
yield return new WaitForSeconds(2f);
round ++;
if (round == 1) {
on = Random.Range(1,5);
}
if (round == 2) {
on = Random.Range(1,5);
}
if (round == 3) {
on = Random.Range(1,5);
}
if (round == 4) {
on = Random.Range(1,5);
}
// Turn on/off lights
if (on == 1) {
green.GetComponent<Renderer>().material = greenMat;
}
if (on != 1) {
green.GetComponent<Renderer>().material = greenOff;
}
if (on == 2) {
red.GetComponent<Renderer>().material = redMat;
}
if (on != 2) {
red.GetComponent<Renderer>().material = redOff;
}
if (on == 3) {
yellow.GetComponent<Renderer>().material = yellowMat;
}
if (on != 3) {
yellow.GetComponent<Renderer>().material = yellowOff;
}
if (on == 4) {
blue.GetComponent<Renderer>().material = blueMat;
}
if (on != 4) {
blue.GetComponent<Renderer>().material = blueOff;
}
}while(show == true);
}
這很難理解你的問題和你的問題。我建議你改述你的問題,並說出你想做的事情,然後告訴我們現在發生了什麼。另外,在其他問題中不接受有用的答案會阻止人們幫助你。 – Programmer