[2.2.6] Sprite 组件默认混合属性错误

Normal 正确的混合模式应该是

SRC: GL_SRC_ALPHA
DST: GL_ONE_MINUS_SRC_ALPHA

而在编辑器里是

在 cocos2d-x 3.x 中精灵默认为 透明度预乘 ALPHA_PREMULTIPLIED,
具体可查看 CCSprite.cpp line:223 和 ccTypes.cpp line:252

这个我知道,我用 cocos2d-js 3.6 新建的工程,用编辑器默认的 GL_ONE/GL_ONE_MINUS_SRC_ALPHA 导出的UI 运行出来的效果是错的,所有图片都带矩形色块的底。

要不挂上你的js工程看看吧, 只需要能出现这个问题的资源就ok了

这是用 cocos2d-js-3.6 创建的工程,bug 示例。
zip 中 res/MainScene.json 是 cocos 2.2.6 mac 版导出的UI文件,使用的是编辑器默认的 blend
在 chrome 浏览器运行效果如图

可以用 zip 中的 res/MainScene.jso_ 替换上述文件再刷新,修改后的 blend 可以得到正确的结果

这个貌似是之前 2.x 出过这个问题, 升级到 3.x 就没这问题了, 我帮你问问 js 那边的同步情况

这个问题已经修复了,会在下一个版本中生效:

https://github.com/pandamicro/cocos2d-html5/commit/240679b074ac421c68ecddde2bfbc89e4c6a0134