[請益] Unity StartCoroutine for loop

作者: smailzhu (嗯嗯)   2017-01-02 19:30:43
各位前輩,小弟我在練習開發android上的遊戲
我在電腦上執行
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex) ;
可以成功的重新開始這個scene
但是當我輸出成APK到手機上執行時
敵人就沒有辦法順利生成
我敵人生成的方式是在start()內呼叫 StartCoroutine (SpawnWaves ());
IEnumerator SpawnWaves (){
yield return new WaitForSeconds (startWait);
while(true){
for (int i = 0; i < hazardCount; ++i){
Vector3 spawnPosition =
new Vector3 (Random.Range (xMin, xMax), yMax, 0);
//我有測試在這邊將xMin,xMax,yMax,hazard,hazardCount,i,Time.time顯示在螢幕上
//在還沒有重新執行時i都順利增加,Time.time也會跑,可是當我重新開始時i跟時間
//就只會卡在一個值了
Instantiate (hazard, spawnPosition, transform.rotation);
yield return new WaitForSeconds (spawnWait);
}
yield return new WaitForSeconds (waveWait);
if (gameOver) {
restartText.text = "Double click to Restart";
restart = true;
break;
}
}
}
想請教各位前輩可以幫我提點一下嗎,謝謝
作者: gyd (阿龍哥)   2017-01-03 00:38:00
請定義 i跟time卡在一個值, 下次請試著將狀況講清楚沒有完整code的情況只能幫你抓邏輯錯誤而已
作者: smailzhu (嗯嗯)   2017-01-03 04:41:00
我覺得time卡的那個值應該是進去for迴圈的那個時間點,至於i的話是卡再0不會增加謝謝提點,我晚點會Po程式碼我覺得最困擾的是,電腦上可以順利重來,可是手機無法程式碼在此付上http://ideone.com/zT7puQ

Links booklink

Contact Us: admin [ a t ] ucptt.com