cocos2d-js的定時器的創建跟使用:
情況一:
var TestLayer = cc.Layer.extend({
sprite:null,
ctor:function () {
this.scheduleUpdate();
},
update: function () {
//每一幀都會調用update這個函數
}
});
情況二:
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通過調用的函數名銷燬
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是無論有幾個定時器全部都刪除了:
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();//全部刪除
}
});