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