cocos js update()
来源:互联网 发布:造价师用什么软件 编辑:程序博客网 时间:2024/05/19 21:40
环境:
Win7 64位
Cocos2d-JS v3.1
Cocos Code IDE v1.0.0.Final
正文:
主要分为两种方式,一种是直接用延时函数,比如scheduleCallbackForTarget,scheduleOnce等;另外一种就是在每帧的更新函数里面进行控制。
1. 第一种直接使用函数的方式
这里只谈使用要注意的地方,至于函数参数,官方的API文档介绍的已经很清楚了(API查询地址:http://www.cocos2d-x.org/reference/html5-js/V3.0/index.html 在左上角输入cc.scheduler )
以this.scheduleOnce(回调函数,延迟时间)为例,这里要注意的是回调函数的使用。
1.1 当回调函数为无参时,如:
1
2
3
noParameter : function() {
cc.
log
(
"NO parameter !!"
);
},
那么用的时候写函数名,不带括号而使用了(假如延迟时间为3秒):
1
this
.scheduleOnce(
this
.noParameter, 3);
//回调函数带不带this视其作用域而定
1.2 当回调函数为有参时,如:
1
2
3
haveParameter : function(i) {
cc.
log
(
"Hava parameter "
+ i);
},
那么使用的时候为了能正常延时,需要在外面套一层function name(){},再调用,不然就会在程序一开始时运行,没有延时效果,不过这样做,实际上变成了上面无参时的情况,在一个无参的函数里面调用其他函数而已:
1
2
3
this
.scheduleOnce(function a() {
this
.haveParameter(1111);
//回调函数带不带this视其作用域而定
}, 5);
2. 第二种在每帧更新函数里进行控制
以layer为例,在初始化的时候(ctor函数return true 前,onEnter等其他地方也可以,不过最好在初始化时)添加:
1
this
.scheduleUpdate();
//表示使用每帧更新函数
接着重写layer的update方法:(这里先定义了一个作用域在layer的变量time)
1
2
3
4
5
6
7
8
update : function(dt) {
this
.
time
+= dt;
//dt为每一帧执行的时间,把它加起来等于运行了多长时间
if
(
this
.
time
> 7){
cc.
log
(
"每7秒显示一次"
);
this
.
time
= 0;
//每7秒重置为0,以达到循环显示
}
//cc.log(this.time);//time的当前时间
},
0 0
- cocos js update()
- cocos js响应过程
- cocos-js 命令行使用
- cocos js package
- cocos-js项目结构
- cocos js 发布
- cocos IDE 创建js
- cocos-js 环境搭建
- cocos-js ExportJson
- 做cocos js 项目
- cocos-js笔记
- cocos-js listview笔记
- cocos-js判断类型
- cocos-js 学习小记
- cocos-js 动作
- cocos-js触摸事件
- cocos-js 常用API
- cocos-js 麻将(一)
- struct和typedef struct
- 关于iOS Push总结
- django使用group by
- 《Java程序设计》第16周周四:GUI编程及文件对话框的使用
- 按层次遍历二元树
- cocos js update()
- Joomla添加分类和文章时的目录数据结构
- Python sys.argv[] 使用
- Android事件机制之一:事件传递和消费
- jqGrid表格之自定义subGrid
- Linux中特殊权限--suid、guid
- 指针的运算
- android瀑布流简单实现原理
- Java线程池使用说明