因为项目需求,现在需要用到同一张图的不同颜色的状态。直接增加美术资源的方式不仅会占用内存,而且程序工作量也会增加。所以在网上找了一下关于如何使用shader的资料
首先,找到了官方论坛的一个帖子:在 cocos2d-x 3.x中使用shader实现精灵色相(Hue)的修改
然后打开了LZ分享的git链接:Hue rotation for sprites in cocos2d game engine
还找到一个中文版的,貌似是某位有心人仔细整理过的:Hue rotation for sprites in cocos2d-x, ported from Cocos2d-iPhone.
偷了个懒,于是看了中文版的README.md,然后用Git大神提供的SpriteWithHue写了一个测试的项目:TestColor
但是,美术说这个只是修改了图片的色相,对美术来说,并不够用。还需要能修改饱和度、亮度属性。
因为并没有理解在Cocos2dx中如何操作Shader来修改纹理,所以我又在网上找了一番。
找到了这样一篇附带代码的博客:cocos2dx 更改sprite色相 饱和度 亮度
按照博客中所说(总共有5段代码)