Creater schedule问题

做了个打泡泡的小例子。用 cc.director.getScheduler().schedule(this.ProduceBubble, this, this.interval,-1,0.5)。 每几秒生成bubble,发布到安卓平台就生成了第一个bubble,然后就不在生成了。但是在creater 里面模拟器和web都是好的,发布到ios也是ok的,能在一定间隔时间生成泡泡。 就是安卓有问题。

大神在哪里:3:。。。。。。

发现ios用模拟器ok。但是真机会有问题,不知道为什么

我擦 你4月份遇到的 我8月份遇见的跟你一样的问题啊

可以给我们一下具体的重现办法吗?或者有没有用例,我们测试中的 schedule 是正常的

demo的schedule参数比较少
this.schedule(this.fallblocks,1,-1,0.3,false);

这个在模拟器上执行无限次
在web android上只执行一次

官方api:
schedule ( callback target interval repeat delay paused )

this.schedule(this.fallblocks,this,1,-1,0.3,false);

多传递一个target会报错

schedule 方法的 API 文档

这里明确标明参数中是没有 target 的,target 默认就是 Component 本身。

还有一个 Scheduler 的 schedule,你可能是把两者混淆了

再来说参数问题,repeat 你给的是 -1,在模拟器中,-1 通过 js 值到 unsigned int 转换,会转换成非常大的值,但是在 web 端就是 -1。如果你需要永远执行,需要用 cc.macro.REPEAT_FOREVER,而不是 -1

你说的对,我后来就是把-1改成了一个很大的数解决问题了。

另外我们的文档为什么不一致,我查的api明明显示的有target参数啊。。。。。
schedule 方法的 API 文档

你看的是 Scheduler 的 schedule,调用方法是 cc.director.getScheduler().schedule

你的this.schedule是在component中实现的schedule。而你看到的是系统定时器Scheduler的schedule方法