2.0.10 mask点击事件监听bug

var mask = this.node.getChildByName(“mask”);
mask.on(cc.Node.EventType.TOUCH_START, this.touchstart, this);

老项目代码。2.0.5升级到2.0.10。此时点击事件接收不到了,其他都是正常的。

我们看下

我测试了一下是正常可以点击的,不知道你的项目代码是如何?能否给一下可重现的 demo 呢?

好的谢谢。我的mask是这样的

对了顺便提一下。我从2.0.5就是自己修改的spine.js.现在到2.0.10了这个问题还没有修复。就是DeformTimeline这个里面的矩形框有位移的时候是不会记录并且随着时间移动的。

我项目暂时这么修改的。

你的打印creator版本是2.0.0我的是2.0.10.并且我的mask用了反向遮罩

你是想点击中间的区域吗?

由于你勾选 inverted 了,所以点击区域也进行反向了

我是点击mask这个空白区域。我在2.0.5版本一直是这么用的,没有问题,2.0.10新版本就不行了。请问怎么改呢

点击红色箭头的区域

之前 2.0.5 是有问题的,你应该取消 inverted

正确的是你勾选了 inverted,事件点击应该也跟着 inverted

我取消inverted之后,那个我想突出显示的区域就没有透明,不想点击的区域没法加黑色背景。

而我想要的效果是

之前 2.0.5 是错误的表现,因为没有加入反向后的计算,如果你想要 2.0.5 的表现可以进行修改 CCMask 的 _hitTest 去掉 inverted 后的计算

我试试谢谢啊,对了我上面提的spine那个问题你们有空看看,能修复我就不用自己改引擎了,非常感谢

谢谢反馈,我让相关人员看看

我之前还有改了CCSprite 和CCRenderComponent。之前项目不定时的会报错,什么_renderFlag之类的。我也看到很多人反馈,我改了之后没有再报错了。

你好,你说的spine的问题,可以提供个demo么,然后描述一下,正确的表现是怎样的。

demo不太方便,就是spine里面有碰撞框,这个框可以在spine里面设置随着帧移动改变位置的。而我们的引擎里并没有变动。加上我那段代码碰撞框才会动。

为什么要自己定制引擎?这不是很普遍的需求吗?

不是,引擎spine没有实现这个需求,以前cocos2dx的也是有这个功能的。我们现在creator spine没有实现,所以我自己检查源码查出来的。这个功能以前cocos2dx是可以用的。现在spine DeformTimeline这个功能是不完整的。我们美术在spine里面自己拉了一个矩形框,这个矩形框会随着动画帧位移的。我们代码里是要拿到不同时间他的位置的。现在的spine拿到的位置是不会变的。我改了之后才得到会变化的位置坐标。

大佬我发现一个非常严重的bug,能不能帮我看看,2.0.10打的开发包安装后音乐音效正常,当我卸载后再次扫码安装音乐音效就没了,怎么都没再次卸载安装都没有了。试了好几台手机,最新微信开发工具也可以复现。
当我用2.0.5打包再去测试是正常的。这个太奇怪了,都卸载为啥还有关系呢。
大佬收到回复我下,这个比较急,谢谢!

微信小游戏吗?可能跟缓存有关系。我们看下。