小满(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类里面的其他场景
- 前言
- (1)--HelloWorld
- (2)--重要概念及Test例子结构
- (3)--动作(CCAction)
- (4)--触屏事件
- (5)--动作管理
- (6)--场景间切换效果
- (7)--CCProgressTimer
- (8)--场景特效
- (9)--粒子系统
- (10)--运动中的加速度效果
- (11)--拖动间隐效果
- (12)--图形绘制
- (13)--内存回收机制
- (14)--菜单项
- (15)--CCOrbitCamera
- (16)--LayerColor
- (17)--瓦片地图集
- (18)--Lable
- (19)--物理引擎box2d(1)
- (20)--物理引擎box2d(2)
- (21)--精灵类
- (22)--动画类
- (23)--其他(屏幕旋转,schedule,系统语言)
- (24)--音乐音效
- (25)--CCRenderTexture
- (26)--其他(游戏存档,切换高清,图片处理)
- (27)--CCMutableArray
- (28)--CCTMXTiledMap
- (29)-cocosBuilder
- (30)2.1新特性之CCClippingNode
- (31)2.1新特性CCPhysicsSprite
- (32)-cocos2d-x & javascript跨平台初体验