给按钮添加点击事件后,如果在前一个场景点击屏幕不频繁,那么切换到有按钮的场景后点击事件生效,如果在前一个场景疯狂点击屏幕,那么切换到有按钮的场景后按钮点击事件失效。有没有大神可以帮忙看一下?
我的工程文件大概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 上貌似无法解压,能不能传个网盘





真的不能这样。。。你最后角色达到顶端之后再点击明明就报错了啊。。。都不看控制台吗?你的触摸回调事件需要在组件被删除前取消注册,否则执行出错导致后面场景的逻辑无法运行的。。。
你的 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);
},
太感谢了,没意识到场景切换之前还得解除触摸事件…以为场景切换的时候所有的东西都会回收呢…就没往这方面想…