cocos2d-js銷燬計時器

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();//全部刪除
    }
});



發佈了34 篇原創文章 · 獲贊 30 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章