定时器

使用 定时 器好处:
每当 Node 不再可见或被移出, 调度 器停止(最好手动移除)
引擎暂停, 定时 器停止;引擎重新开始, 定时 器继续启动
引擎封装对应多平台的 定时 器,使用时不需关心其所设定的定时对象的销毁、停止、崩溃风险
 
•每帧执行scheduleUpdate
var ScheduleUpdateLayer = cc.Layer.extend({
    ctor : function () {
        this._super();
        this.scheduleUpdate();
    },
    Update : function (){
        //do something
    }
});
    
次定时器: scheduleOnce
只能依赖节点触发,这样设计的好处是便于定时器的统一管理
 
var SheduleLayer = cc.Layer.extend({
    stor : function () {
        this._super();
        this.scheduleOnce(function(){
            trace ("tick");
        },  2);
    } 
});
  
  
取消 定时器
取消 scheduleUpdate

   使用 node.unscheduleUpdate();

取消 scheduleOnce schedule

   使用 node.unschedule(callback);

callback 必须跟原来 schedule 传入的是同一个函数
 
暂停定时器 node.pause ()
恢复定时器 node.resume ()
 
定时器 改进
schedule0 : function (callback,interval){
    var then = Date.now();
    interval = interval*1000;
    this.schedule(function(){
        var now = Date.now();
        var delta = now - then;
        if (delta > interval){
            then = now - (delta % interval);//关键:抵消误差
            callback.call(this)
        }
    }.bind(this),0 );
},
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值