所使用的环境:Win7 64位 Cocos2d-JS v3.1 Cocos Code IDE v1.0.0.Final,Cocos2d-JS使用scheduler小结
正文:
主要分为两种方式,一种是直接用延时函数,比如scheduleCallbackForTarget,scheduleOnce等;另外一种就是在每帧的更新函数里面进行控制。
1. 第一种直接使用函数的方式
这里只谈使用要注意的地方,至于函数参数,官方的API文档介绍的已经很清楚了(API查询地址:http://www.cocos2d- x.org/reference/html5-js/V3.0/index.html 在左上角输入cc.scheduler )
以this.scheduleOnce(回调函数,延迟时间)为例,这里要注意的是回调函数的使用。
1.1 当回调函数为无参时,如:
noParameter : function() {cc.log(“NO parameter !!”);},
this.scheduleOnce(this.noParameter, 3);//回调函数带不带this视其作用域而定
haveParameter : function(i) {cc.log(“Hava parameter “+ i);},
this.scheduleOnce(function a() {this.haveParameter(1111);//回调函数带不带this视其作用域而定}, 5);
2. 第二种在每帧更新函数里进行控制
以layer为例,在初始化的时候(ctor函数return true 前,onEnter等其他地方也可以,不过最好在初始化时)添加:
this.scheduleUpdate();//表示使用每帧更新函数
update : function(dt) {this.time += dt;//dt为每一帧执行的时间,把它加起来等于运行了多长时间if(this.time > 7){cc.log(“每7秒显示一次”);this.time = 0;//每7秒重置为0,以达到循环显示}//cc.log(this.time);//time的当前时间},