情况一:
[java] view plain copy
var TestLayer = cc.Layer.extend({
sprite:null,
ctor:function () {
this.scheduleUpdate();
},
update: function () {
//每一帧都会调用update这个函数
}
});
情况二:
[java] view plain copy
var TestLayer = cc.Layer.extend({
sprite:null,
ctor:function () {
this.schedule(this.updateData,0.1);
},
updateData: function () {
//会根据this.schedule第二个参数的时间来调用updataData函数
}
});
cocos2d-js定时器的销毁unschedule,unscheduleAllCallbacks
一种是针对个别的计时器销毁:unschedule通过调用的函数名销毁
[java] view plain copy
var TestLayer = cc.Layer.extend({
sprite:null,
ctor:function () {
this.schedule(this.updateData,0.1);
this.removeSchedule()
},
updateData: function () {
//会根据this.schedule第二个参数的时间来调用updataData函数
this.unscheduleAllCallbacks()
},
/**
* 删除计时器
*/
removeSchedule: function () {
this.unschedule(this.updateData);//通过函数名update删除
}
});
unschedule,unscheduleAllCallbacks是无论有几个定时器全部都删除了:
[java] view plain copy
var TestLayer = cc.Layer.extend({
sprite:null,
ctor:function () {
this.schedule(this.updateData,0.1);
this.removeSchedule()
},
updateData: function () {
//会根据this.schedule第二个参数的时间来调用updataData函数
this.unscheduleAllCallbacks()
},
/**
* 删除计时器
*/
removeSchedule: function () {
this.unscheduleAllCallbacks();//全部删除
}
});