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函数
- }
- });
一种是针对个别的计时器销毁: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();//全部删除
- }
- });