scheduleOnce在CocosCreator模拟器下工作正常,在微信小游戏里报错:selector already scheduled。
每隔1,2,3,4秒调用一次scheduleOnce,第一次第二次运行正常,第三次开始报错。
-
Creator 版本:1.8,2
-
目标平台: 微信小游戏
-
详细报错信息,包含调用堆栈:
selector already scheduled
- 出现概率:100%
请问有没有人碰到过类似的问题,以及如何解决
scheduleOnce在CocosCreator模拟器下工作正常,在微信小游戏里报错:selector already scheduled。
每隔1,2,3,4秒调用一次scheduleOnce,第一次第二次运行正常,第三次开始报错。
Creator 版本:1.8,2
目标平台: 微信小游戏
详细报错信息,包含调用堆栈:
selector already scheduled
请问有没有人碰到过类似的问题,以及如何解决
你可以在再次调用前先停止下,再开启
试过了,就是不报错,第三次的函数并没有被执行。感觉是在小程序里schedule执行完之后没有被正常释放的样子
或者是途中调用者变了,能想到的就这两种可能
这样不行的话你就只能自己update里加个判断或者 用回调代替
下班了再试试,3Q
代码
onNextMessage() {
var serif = this.chapter.getSerif();
if (serif == null) {
return;
}
this.createMessage(serif);
this.scheduleOnce(this.onNextMessage,serif.delay);
},
微信开发工具提示错误
cc.Scheduler#scheduleSelector: Selector already scheduled. Updating interval from: 0 to 0
this.scheduleOnce(this.onNextMessage,serif.delay);
改成
this.scheduleOnce(function (){
this.onNextMessage();
},serif.delay);
就可以用了
能解释一下原理吗
这个 引擎的人才能解释吧~
同样遇到了这个问题,修改写法后ok,有大佬解释一下原理嘛?
![]()