替换材质置灰,为什么鼠标一移到上方就又变彩色了?

一个物体,挂上sprite和button
在代码中的onLoad,修改了图片显示的颜色,置灰。
var material = cc.MaterialVariant.createWithBuiltin(“2d-gray-sprite”, this.node)
this.node.getComponent(cc.Sprite).setMaterial(0,material);
但是为什么,鼠标一移动到图片上方,颜色就又变成彩色的了。
有没有办法避免

1赞

美术出灰色的按钮, 改 normalsprite

你把btn的target改了,btn有个update函数会改target的 material

试试button组件上的transition不要用sprite…

用的是scale

使用Button上不挂载 Sprite, 新建子节点挂载Sprite,可以解决问题

看了下CCButton,问题应该是出在这个函数,当鼠标移到Button上方时就会调用这个函数,enableAutoGrayEffect标志为false,不管你调用了什么材质,都会恢复到'2d-sprite'