sprite 图片 彩色变黑白咋整?

如题: sprite 图片 彩色变黑白咋整?

版本 3.5.2

sprite.grayscale = true;

如果希望在2s内缓慢的上色或者变灰呢?

tween(sprite).to(0, { grayscale: true }).to(2, { grayscale: false }).start();

试了一下这个代码,就闪一下,没有缓动的效果

这你得用 shader 搞了,内置的只能瞬间变灰

好多地方都能看到 shader,想问一下这个 shader 是个啥?。。咋搞呢。。。

shader 是在 gpu 执行的代码 你平时写代码是 CPU的代码

#ifdef GL_ES

precision mediump float;

#endif

varying vec4 v_fragmentColor;
varying vec2 v_texCoord;
void main(){
vec4 c = texture2D(CC_Texture0, v_texCoord);
gl_FragColor.xyz = vec3(0.2126c.r + 0.7152c.g + 0.0722*c.b);

gl_FragColor.w = c.w;
}

LearnOpenGL CN (learnopengl-cn.github.io)
没事看一看可以提神醒脑!

大神,我节点下三个图片sprite图片全是动态加载的,设置父节点 遍历所有sprite这个属性置灰,中间图片没有变灰,没有生效啊。其他两个动态加载的图片都变灰, 就中间的没生效是咋回事呀?

中间的 sprite 组件有没有设置 customMaterial?

果然有,去掉就好了。 解决了,感谢大神。