渐进式编程课
Cocos Creator 目录
第 13 课2026.09.17

验证组件重新启用后不会重复注册同一回调。

第 13 课:重新启用避免重复调度

  • 日期:2026-09-17
  • 课程序号:第 13 课
  • 知识点:重新启用避免重复调度

用途

验证组件重新启用后不会重复注册同一回调。

核心概念

onEnable 用同一回调引用注册;onDisable 用它撤销,形成对称生命周期。重新启用时只重新注册这一份回调。

最小代码或操作示例

text
onEnable(): void {
  this.schedule(this.tick, 1)
}
onDisable(): void { this.unschedule(this.tick) }

3~5 分钟练习

连续禁用、启用两次并观察计数。

参考答案

每秒只增加一次,说明没有叠加重复调度。

与上一课的联系

继承上一课的 tick 计数观察和同一回调引用;本课只验证重新启用时的注册与禁用时的撤销;下一课可把固定间隔提取为属性。

时效校验

时效校验:2026-09-28(已核对 Cocos Creator 3.8 Scheduler 手册及 3.8.9 Component 源码;移除组件不存在的 isScheduled 调用)。

官方参考