Mask 不生效的问题,bug已经定位,有demo

creator 2.0.2 正式版

@panda @jare
终于找到 bug 必现的 方法了

当 新建的 含有 mask 的节点 出现在 scrollview 的mask范围内时,新建的含有mask的节点 遮罩效果无效了,scrollview内的遮罩是没问题的。

详见 demo NewProject.rar (180.0 KB)

完全没想到是位置的原因,想复杂了

.

我手机坏了。找了稍微老点的手机,发现微信和其他浏览器都只支持canvas,再发现所有遮罩都没生效。微信小游戏里居然又可以支持webgl。一点都不诡异。。。
都懒得提BUG。。一般提BUG没啥大作用。还是要自己改

确实不诡异,小游戏环境貌似不是webgl,你可以去了解一下

你的 demo 无法重现应该还是有其他你没有发现的重现条件,这个很关键,否则我们比较难查出问题的原因。我们这边做的测试用例也是没问题,在测试阶段已经修了几个 Mask 相关的问题,测试的情况也比较多了,可能还是有疏漏你遇到的那种情况。总之必须先找到重现办法,才能知道原因是什么

谢谢回复,现在还在分析。

不知道小游戏底层到底有没支持webgl,我的描述不够正确。我想表达的意思是,我发布设置成 仅支持webgl 。我的旧手机直接黑屏报错, 我才发现我的旧手机在微信内置浏览器和手机内置浏览器,全都不是webgl 。但是这样发布,在小游戏里能正常运行,可能在小游戏里这个设置无效吧。

换成canvas,遮罩全出错。但是在微信小游戏里又是正常的,我认为是有点诡异的

creator 2.0.2 正式版

@panda @jare
终于找到 bug 必现的 方法了

当 新建的 含有 mask 的节点 出现在 scrollview 的mask范围内时,新建的含有mask的节点 遮罩效果无效了,scrollview内的遮罩是没问题的。

详见 demo NewProject.rar (180.0 KB)

完全没想到是位置的原因,想复杂了

.

确实是一个很奇葩的问题,也挺难定位的,后来才发现是我们代码中的一个疏忽,对于 SpriteFrame 为 stencil 的情况下没有考虑周全。

下面是修复

https://github.com/cocos-creator/engine/pull/3349

2赞