跪求大神指点,场景切换后第二个场景的点击事件失效

给按钮添加点击事件后,如果在前一个场景点击屏幕不频繁,那么切换到有按钮的场景后点击事件生效,如果在前一个场景疯狂点击屏幕,那么切换到有按钮的场景后按钮点击事件失效。有没有大神可以帮忙看一下?
我的工程文件大概6M,谁知道怎么上传上来呀?

点击回复,然后直接把文件拖到这个“回复框”就可以上传文件啦

Swim.zip.001.zip (2.0 MB)Swim.zip.002.zip (2.0 MB)Swim.zip.003.zip (1.8 MB)
您好,由于论坛上传文件的格式、大小都有限制,我就把工程文件打成了3个包,然后每个包又打成了zip包。请分别解压这三个包后放到一个文件夹,然后解压缩其中任何一个文件就可以了,麻烦您啦

在 Mac 上貌似无法解压,能不能传个网盘

http://pan.baidu.com/s/1hsDH0QK 您好,我传到百度网盘上了。非常非常感谢!

:sob::sob::sob::sob::sob:

真的不能这样。。。你最后角色达到顶端之后再点击明明就报错了啊。。。都不看控制台吗?你的触摸回调事件需要在组件被删除前取消注册,否则执行出错导致后面场景的逻辑无法运行的。。。

你的 ClickController 逻辑应该是这样的。。。

    touchEnd: function () {
        if (this.mask.active) {
          this.mask.active = false;
          if (!this.l.active) {
            this.l.active = true;
          }
          if (!this.r.active) {
            this.r.active = true;
          }
        }
        var pbNum = this.verticalBar.progress;
        pbNum += 0.1;
        if (pbNum > 1) {
            pbNum = 1;
        }
        this.verticalBar.progress = pbNum;
        var moveSpeed = this.moveDTime - pbNum;
        this.me.stopAllActions();
        this.me.runAction(cc.moveTo(moveSpeed, this.me.x, this.me.y + this.moveDPos));
    },

    onEnable: function () {
        this.verticalBar.progress = 0;
        this.node.on(cc.Node.EventType.TOUCH_END, this.touchEnd, this);
    },
    
    onDisable: function () {
        this.node.off(cc.Node.EventType.TOUCH_END, this.touchEnd, this);
    },

太感谢了,没意识到场景切换之前还得解除触摸事件…以为场景切换的时候所有的东西都会回收呢…就没往这方面想…