Cocos Creator 計時器錯誤 cc.Scheduler: Illegal target which doesn't have uuid or instanceId.


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM