这个问题还有
靠!我用了fgui发现会阻挡ccc的点击事件,然后一直调试,然后发现开了多点触碰就好了。原来是引擎bug,我裂开
难道穿透下去算点击两个点了?这样想的话好像就没毛病。。。。。。。。
靠 卡了1天 解决了
佬,咋解决的
麻了,2.4.8也有这个问题,没想到关闭多点触摸会把点击穿透事件也取消掉
顶一下!确实很蛋疼
补充,这个穿透节点的父节点中,不能有Blockinput的组件,否则也会造成无效。建议直接在最上层添加
怎么解决的, 打开多点触摸?


脚本 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 明显少判断了当前的触摸对象是否吞噬事件
2025年了还有这个问题
不要用 cc.macro.ENABLE_MULTI_TOUCH
使用
//@ts-ignore
cc.internal.inputManager._maxTouches = 1
来阻止多点触摸