我自己重写了一下,就没问题了,等官方处理修完BUG删掉就好
//由UPDATE执行,原生环境下自带的schedule有问题
schedule: function(func, interval){
let obj = {func, last:new Date(), interval};
this.scheduleList = this.scheduleList || [];
this.scheduleList.push(obj);
},
//由UPDATE执行,原生环境下自带的schedule有问题
scheduleOnce: function(func, delay){
let obj = {func, last:new Date(), interval:delay, once:true};
this.scheduleList = this.scheduleList || [];
this.scheduleList.push(obj);
},
// called every frame, uncomment this function to activate update callback
update: function (dt) {
if(this.scheduleList){
let now = new Date();
for (var i = 0; i < this.scheduleList.length; i++) {
let scheduleObj = this.scheduleList[i];
if(now - scheduleObj.last < scheduleObj.interval * 1000){
continue;
}
scheduleObj.func();
scheduleObj.last = now;
if(scheduleObj.once){
this.scheduleList.splice(i--, 1);
}
}
}
},