引擎组大大 在线等着急 计时器 错误:cc.Scheduler: Illegal target which doesn't have uuid or instanceId!!!

使用全局计时器


报错误

人呢?
没人遇到这个问题么?
引擎组的人呢???

是用什么平台测试的?给个demo,我们看看

我是在 H5上跑的。
我可以给你3个类。
你自己写一个调用
就行

shedule.zip (2.8 KB)

代码是这样的。
您看下。
基本上是 自己写一个 heart 类,然后外面socektet 连接类使用heart类

在loginsence new的这个gate

给完整可以测试的工程,请不要让我们把时间花费在怎么跑起你们的模块代码,也不要把完整游戏发过来,复现问题一般都是小demo,谢谢啦~

cc.director.getScheduler().enableForTarget(this);
cc.director.getScheduler().schedule(this.heartBeat,this,1,false);
试试这个

这个是真个的完整的工程。我弄不出来啊。
摘切半天呢。我看看吧。

谢谢,这个方法解决了

这个错误是个什么错误呢,你这个方法是干嘛得。官方文档没有那么详细得说明。

讲真~我也不知道为啥要调用
cc.director.getScheduler().enableForTarget(this);
因为我也是论坛找的解决方案:joy:

在对象没有 instanceId 的情况下, 使用这个方法来保证给对象提供一个唯一的instanceId。

这个可以参考API文档
https://docs.cocos.com/creator/api/zh/classes/Scheduler.html#enablefortarget

或者查阅引擎源码

非常感谢,这下解释就比较明白了。这个对象确实没有instanceid。
是一个自定义类,这个对象得所有者没有继承 cc.component,所以没有instanceid。