环境:
win7 64位
Cocos2d-JS v3.1
Cocos Code IDE v1.0.0.Final
本文纯粹是个人心得总结,若有异议,欢迎交流,本人新手
开始正文:
主要分为两种方式,一种是直接用延时函数,比如在node里面schedule,scheduleOnce等,另外一种就是在每帧的更新函数里面进行控制。
1.第一种直接使用函数的方式:
这里只谈使用要注意的地方,至于函数参数,官方的api文档介绍的已经很清楚了(API查询地址:http://www.cocos2d-x.org/reference/html5-js/V3.0/index.html 在左上角输入cc.scheduler)
1.1当回调函数为无参时,如:
haveParameter : function(i) { cc.log("Hava parameter " + i); },那么使用的时候为了能正常延时,需要在外面套一层function name(){},再调用,不然就会在程序一开始时运行,没有延时效果,不过这样做,实际上变成了上面无参时的情况,在一个无参的函数里面调用其他函数而已:
2.第二种在每帧更新函数里进行控制:
以layer为例,在初始化的时候(ctor函数return true 前,onEnter等其他地方也可以,不过最好在初始化时)添加:
this.scheduleUpdate();//表示使用每帧更新函数接着重写layer的update方法:(这里先定义了一个作用域在layer的变量time)
update : function(dt) { this.time += dt;//dt为每一帧执行的时间,把它加起来等于运行了多长时间 if(this.time > 7){ cc.log("每7秒显示一次"); this.time = 0;//每7秒重置为0,以达到循环显示 } //cc.log(this.time);//time的当前时间 },
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。