渐进式编程课
Unity 目录
第 15 课2026.09.21

避免连续点击产生多个等待循环。

第 15 课:防止重复启动协程

  • 日期:2026-09-21
  • 课程序号:第 15 课
  • 知识点:防止重复启动协程

用途或适用场景

避免连续点击产生多个等待循环。

核心概念

running 引用非空时不再调用 StartCoroutine;停止动作仍由上一课负责。

最小代码或操作示例

text
Coroutine running;
void Begin() {
    if (running != null) return;
    running = StartCoroutine(Practice());
}

3~5 分钟练习

连续调用 Begin 两次。

参考答案

只保存并运行一个 Coroutine;停止后可再次启动。

与上一课的联系

沿用第 14 课保存 Coroutine running 并由 Stop() 清空引用的代码;本课只在 Begin() 增加非空检查;下一课先把练习协程改为有界循环,再处理自然结束后的引用清理。

时效校验

时效校验:2026-09-24(Unity 6.3 LTS 当前 API;已打开并核对官方文档中的本课用法,未见本课方案的废弃说明)。

官方参考