使用StartCoroutine调用IEnumerator方法报错,求解决方案
问题解决:Unity协程调用报错“无法转换为字符串”
你的代码存在语法错误,导致编译器抛出了误导性的错误提示:
hasPowerup = false语句末尾缺少分号,破坏了代码结构,让编译器无法正确解析协程方法的返回值类型,进而误报“无法转换为字符串”的错误。
修正后的完整代码:
StartCoroutine(PowerupCountdownRoutine()); IEnumerator PowerupCountdownRoutine() { yield return new WaitForSeconds(7); hasPowerup = false; // 补充分号 }
额外需要确认两个前提:
- 这段代码所在的脚本必须继承自
MonoBehaviour,只有继承该类的脚本才能调用StartCoroutine方法。 hasPowerup变量已在脚本中正确声明(例如private bool hasPowerup;)。
内容的提问来源于stack exchange,提问作者jbdecicco
相关产品推荐
相关产品推荐

