CocosCreator之计时器

执子之手与子偕老。诺言轻许只是年少。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值