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