版本:2.3.4
在使用计时器Scheduler时,如果是在自定义类里,则会报错
例如如下代码
const {ccclass, property} = cc._decorator; @ccclass export default class Test{ constructor(){ let s:cc.Scheduler = cc.director.getScheduler(); s.schedule(()=>{console.log(1)},this,0); } }
let test:Test = new Test();
报错如下
加上一行enableForTarget,则报错消失
const {ccclass, property} = cc._decorator; @ccclass export default class Test{ constructor(){ let s:cc.Scheduler = cc.director.getScheduler(); s.enableForTarget(this); s.schedule(()=>{console.log(1)},this,0); } }
这是因为自定义类Test没有_id属性,使用enableForTarget会给对象添加一个_id属性。