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