第 16 课2026.09.22
让上一课防重入的练习协程在三次等待后自行结束,为下一课清空引用创造确定的结束点。
第 16 课:将练习协程设为有限次数
- 日期:2026-09-22
- 课程序号:第 16 课
- 知识点:有界协程循环
用途或适用场景
让上一课防重入的练习协程在三次等待后自行结束,为下一课清空引用创造确定的结束点。
核心概念
for 控制循环次数;WaitForSeconds 仍是上一课沿用的等待方式。本课不改变 Begin() 的去重逻辑。
最小代码或操作示例
csharp
System.Collections.IEnumerator Practice() {
for (int i = 0; i < 3; i++) {
yield return new UnityEngine.WaitForSeconds(1f);
UnityEngine.Debug.Log(i);
}
}3~5 分钟练习
沿用上一课的 Begin(),启动后观察日志并再次点击。
参考答案
日志依次输出 0、1、2;协程结束,但 running 仍非空,所以再次点击被挡住。下一课解决这一点。
与上一课的联系
继承第 15 课的 running 与 Begin() 防重入代码;本课只把 Practice() 改为三次有界循环;下一课在循环正常结束后清空引用。
时效校验
时效校验:2026-09-24(已打开 Unity 6.6 当前 WaitForSeconds 与 StartCoroutine 官方 API;未见本课 API 废弃标记)。