🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man Cocos2d-x的菜单中提供了生成带颜色的Layer的方式,他们都继承于CCLayer,如下图 ![](https://box.kancloud.cn/2016-04-26_571f3f105e4fb.gif) 本来还有一个CCColorLayer,但是他和CCLayerColor一样,在v1.01版本中已经被删去了,这里只讨论CCLayerColor和CCLayerGradient 1.CCLayerColor 就是生成一个带颜色的层,其高度和宽度可以自定义,如下api ![](https://box.kancloud.cn/2016-04-26_571f3f106fca6.gif) 三个参数就是第一个是color,后两个是宽度和高度 ![](https://box.kancloud.cn/2016-04-26_571f3f107f76b.gif) 没有宽度和高度,默认的就是屏幕的大小,定义的用法如下 ![](https://box.kancloud.cn/2016-04-26_571f3f108edfd.gif) 另外可以给Layer加上相应的动作,用法如下 ![](https://box.kancloud.cn/2016-04-26_571f3f10a0225.gif) 一个是变化颜色,另一个是淡出淡入,用法也是使用先定义动作,再使用runAction。 另外也可以通过setBlendFunc设定过程颜色,用法如下,首先通过gettBlendFunc可以获得ccBlendFunc的起始和结束颜色,然后再通过setBlendFunc设定颜色 ![](https://box.kancloud.cn/2016-04-26_571f3f10afb64.gif) 2.CCLayerGradient 可以生成混合颜色层,是通过定义两个颜色,生成过渡色,效果如下 ![](https://box.kancloud.cn/2016-04-26_571f3f10c0953.gif) 定义的方法如下 ![](https://box.kancloud.cn/2016-04-26_571f3f10e341b.gif) 如果不设置最后一个参数,中心点将自顶向下渐变 可以通过如下方法是否设置色差压缩,如果可以设置色差压缩将显示起始颜色,否则不显示起始颜色 ![](https://box.kancloud.cn/2016-04-26_571f3f10f28ec.gif) 另外可以通过设置向量来设置中心切分线,用法如下,参数为CCPoint gradient->setVector(diff); 刚开始研究此引擎,如有错误之处,希望大家多多指正 下一篇写一下test类里面的其他场景