反馈一个bug cc.macro.ENABLE_MULTI_TOUCH = false 导致 node._touchListener.setSwallowTouches(false);失效

怎么解决的, 打开多点触摸?

9999

333333

脚本 CCEventManager.js
在2个 if 判断后面添加 eventManager._currentTouchListener.swallowTouches 条件
修改如下
if (!cc.macro.ENABLE_MULTI_TOUCH && eventManager._currentTouch && eventManager._currentTouchListener.swallowTouches) {

if (!cc.macro.ENABLE_MULTI_TOUCH && eventManager._currentTouch && eventManager._currentTouch !== selTouch && eventManager._currentTouchListener.swallowTouches) {

在脚本 CCButton.js
给3个 event.stopPropagation(); 的地方增加 if 判断
修改如下:
if (!this.node._touchListener || this.node._touchListener.swallowTouches) {
event.stopPropagation();
}

然后重新编译引擎

按照你提供的方法貌似无效。

最后我还是打开了 cc.macro.ENABLE_MULTI_TOUCH = true

改了下最大点击数量,看引擎默认是10改成了1
if (cc.internal && cc.internal.inputManager) {
cc.internal.inputManager._maxTouches = count;
return;
}

不应该啊,我之前测试过是对的啊
那 if 明显少判断了当前的触摸对象是否吞噬事件