版本: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属性。

浙公网安备 33010602011771号