2.1.2无法使用cc.Material.getBuiltinMaterial('gray-sprite')


我也是遇到这个问题,设定了但是无法起效。

        var mat: cc.Material = null;
        if (isGray) {
            mat = cc.Material.getBuiltinMaterial('2d-gray-sprite');
        }
        else {
            mat = cc.Material.getBuiltinMaterial('2d-sprite')
        }
        sprite.setMaterial(0, mat);

name前面加上2d-

这样就可以了,不过还是会有错误提示


但是还有个问题就是如果你是纯色的Sprite。
比如一张白色的图片,我只是修改了node的颜色。这时设置成灰度状态的时候,不管你的node设置的是什么颜色。最后显示出来的sprite都是纯白色。
以前的SetState是可以正确显示node颜色的灰度效果的

嗯,代码提示会改一下。你可以自己先手动加进去

关于 灰度无法正确显示node的color设置这个怎么解决?

已经解决了
把builtin-2d-sprite的代码复制到builtin-2d-gray-sprite然后改成这样就好了

可不可以写个使用shader的例子

为啥在官方文档搜不到这个方法 getBuiltinMaterial