图片置灰,为什么真机上显示逻辑错乱

版本2.4.14
const sprite = this.node.getComponent(cc.Sprite);
const grayMat = cc.Material.getBuiltinMaterial(‘2d-gray-sprite’);
sprite.setMaterial(0, grayMat);
类似上面的写法,浏览器运行是正常的,上阵后图片变灰,但是手机上,初始就是灰的,上阵后反而变亮了,颠倒了,想亮的变灰了,想灰的变亮了,求问!

或者有没有其他写法,各位是怎么写的

我是这么写的
let material = cc.Material.getBuiltinMaterial(‘2d-gray-sprite’);
const grayMat = cc.MaterialVariant.create(material, sprite);
sprite.setMaterial(0, grayMat);

4赞

感谢啦!这么做是可以的,真机也没问题,后续看看性能方面有没有影响