执子之手与子偕老。诺言轻许只是年少。
schedule计时器依赖于cocos脚本,只能在cocos脚本组件内使用。
上测试代码:
//间隔计时器
this.schedule(this.callback, 1);
//延迟后执行1此的计时器
this.scheduleOnce(this.callback, 1);
//停止计时器
this.unschedule(this.callback);
//取消这个组件得所有计时器
this.unscheduleAllCallbacks();
//更加灵活得计时器1
component.schedule(()=> {
// 这里的 this 指向 component
this.doSomething();
}, 1, 10, 10);//时间间隔s,重复次数,开始延迟。
//2
this.scheduleOnce(() => {
//this指向这个类本身
this.doSomething();
}, 1);
// 计时器的其他使用
// 时间填0,表示在下一帧执行。
// 应用场景1:修改label后,length会在下一帧才同步。类似的还有layout。
// 应用场景2:通过递归的方式,逐帧加载大量节点。【大量节点同时加载会导致卡顿,逐帧加载体验更好,比如排行榜列表】
this.scheduleOnce(() => {
// 下一帧干点啥
}, 0);
简单案例:
//计时器
starSchedule(){
this.count = 0;
this.setLableStr()
this.callback = ()=> {
if (this.count === 100) {
// 在第六次执行回调时取消这个计时器
this.unschedule(this.callback);
this.Label_desc.getComponent(cc.Label).string = "匹配成功!"
cc.director.loadScene('Game');
}
this.setLableStr();
this.count++;
}
this.schedule(this.callback, 0.001);
},
setLableStr() {
var str = "正在匹配中......"+this.count+"%"
this.Label_desc.getComponent(cc.Label).string = str
this.timeNum = this.timeNum + 2
},
整理不易,关注收藏不迷路。
目录:CocosCreator经典笔记_神兽白泽-优快云博客
笔者qq、微信:1302109196
qq群:415468592