游戏中有一处效果需要做灰度渐变,首先想到使用CCRGBAProtocol的setColor,但发现效果与预期不一样。SetColor是图像与目标颜色做直接混合,混合出的结果是相当于在原图的基础上放了一张蒙板,远未达到灰度图的样子。
于是,Google一下,从如下文章中找到思路:
在cocos2d-x2.0上用shader实现灰度图
CSS+Canvas+jQury实现图片灰度渐变效果
尤其看到第2篇文章中的示例效果,与预想中完全相同。
阅读全文