InvokeRepeating嵌套這會導致指數級增長的重復調用堆疊。
使用單一協程
PeriodicActionRoutine
替代所有InvokeRepeating
避免方法間相互調用造成的堆疊
如果需要多層級時間控制(如主循環+子循環):
IEnumerator MultiLevelTimer() {float mainInterval = 0.5f;float subInterval = 0.1f;while (true){// 主循環邏輯yield return StartCoroutine(SubRoutine(subInterval));yield return new WaitForSeconds(mainInterval);} }IEnumerator SubRoutine(float interval) {int count = 5; // 子循環次數for (int i = 0; i < count; i++){// 子循環邏輯yield return new WaitForSeconds(interval);} }
DeepSeek生成