1.CCLayerColor是专门用来处理背景颜色的图层,它继承自CCLayer,可以用来设置图层的背景颜色,因为CCLayer默认是透明色的,即无颜色的

2.CCLayerGradient是用来显示颜色渐变效果的图层,它继承自CCLayerColor,是CCLayer的孙类

3.几个特殊的图层:CCLayerColor,CCLayerGradient
  颜色图层在游戏中主要用来烘托背景,可以按照RGB设置填充颜色,同时还可以设置图层的透明度,常用于背景
 
  颜色图层还存在一个特殊的子类:CCLayerGradient,是具有颜色渐变效果的颜色图层
  可以设置背景的渐变效果,Opacity:透明度

4.相关的处理函数:

bool CCLayerColor::initWithColor(const ccColor4B& color);
bool CCLayerColor::initWithColor(const ccColor4B& color, GLfloat w,GLfloat h);

实例:

CCLayerColor::initWithColor(ccc4(255, 255, 255, 255));
CCLayerColor::initWithColor(ccc4(255, 255, 255, 255),100,100);
ignoreAnchorPointForPosition(false);

bool CCLayerGradient::initWithColor(const ccColor4B& start, const ccColor4B& end);
bool CCLayerGradient::initWithColor(const ccColor4B& start, const ccColor4B& end, const CCPoint& v);

实例:

CCLayerGradient::initWithColor(ccc4(123,89,0,255),
ccc4(0,255,255,255),ccp(1,0));

5.代码实现:

.h文件

#ifndef __T04ColorLayer_H__
#define __T04ColorLayer_H__ #include "cocos2d.h"
USING_NS_CC; /*CCLayer默认的背景颜色是透明的,而CCLayerColor图层,可以设置背景颜色*/
class T04ColorLayer :public CCLayerColor
{
public:
static CCScene * scene();
CREATE_FUNC(T04ColorLayer);
bool init(); }; #endif

.cpp文件

#include "T04ColorLayer.h"

/*CCLayerGradient可以设置颜色的渐变梯度,class CCLayerGradient : public CCLayerColor*/
class LayerGradient :public CCLayerGradient
{
public:
CREATE_FUNC(LayerGradient);
bool init()
{
/** Initializes the CCLayer with a gradient between start and end in the direction of v.
virtual bool initWithColor(const ccColor4B& start, const ccColor4B& end, const CCPoint& v);
**/
CCLayerGradient::initWithColor(ccc4(, , , ), ccc4(, , , ), ccp(, )); return true;
} }; CCScene *T04ColorLayer::scene()
{
CCScene * scene = CCScene::create(); /*测试背景图层*/
T04ColorLayer * layer = T04ColorLayer::create(); /*测试渐变图层*/
//LayerGradient * layer = LayerGradient::create(); scene->addChild(layer);
return scene;
}
bool T04ColorLayer::init()
{
CCLayerColor::initWithColor(ccc4(, , , ), , ); /*设置不忽略锚点,在CCLayer和CCScene中默认是忽略锚点的,*/
ignoreAnchorPointForPosition(false); return true;
}

cocos2dx中的背景图层CCLayerColor和渐变图层CCLayerGradient的更多相关文章

  1. cocos2dx中的其他层

    在cocos2dx中,CCLayer默认是黑色的,但是有时候需要有其他颜色北京的图层,那么就需要用到CCLayerColor 如下代码: ccColor4B color =ccc4(255, 0, 0 ...

  2. IOS 创建渐变图层

    代码如下 typedef enum { GradientLayerKindLeftRight = , GradientLayerKindUpDown, GradientLayerKindLBRT,// ...

  3. cocos2d-x中的Tiled地图

    cocos2d-x中的瓦片地图是通过tiledMap软件制作的,存档格式是.tmx格式.此软件的使用步骤简单总结如下: (1)制作瓦片地图 1 打开软件,软件界面如下图. 2. 新建地图(文件-> ...

  4. cocos2dx中Action汇总

    本文由qinning199原创, 转载请注明:http://www.cocos2dx.net/?p=119 今天总结一下cocos2dx中的一些Action动作,其中To表示到达某个点,而By表示偏移 ...

  5. Cocos2d-X中的坐标系

    在Cocos2d-x中坐标能够分成四种: 1.GL坐标体系:GL坐标体系左下角为坐标原点,X轴向右,Y轴向上 2.UI坐标体系:UI坐标体系左上角为坐标原点,X轴向右,Y轴向上. .世界坐标体系:是窗 ...

  6. IOS渐变图层CAGradientLayer

    看支付宝蚂蚁积分,天气预报等好多APP都有圆形渐变效果,今天就试着玩了. 一.CAGradientLayer类中属性介绍 CAGradientLayer继承CALayer,主要有以下几个属性: 1.@ ...

  7. Cocos2d-X中的动作特效

    Cocos2d-X中提供了很丰富的动作特效 比如:网格动画 扭曲特效 3D瓷砖波动特效 程序代码: #include "ActionEffect.h" #include " ...

  8. Cocos2d-x中图字原理之深入分析

    http://cache.baiducontent.com/c?m=9d78d513d9921cfe05ac94281a16a632451294247c89df4f3992d15f9217465c02 ...

  9. Cocos2dx中线程优先级

    Cocos2dx中线程优先级问题 不论是ios还是android,遇到耗时的任务都要另起线程处理,否则程序不能及时用户的反馈.游戏中如果一圈循环不能在1/frameRate(帧率是30则1/30)秒内 ...

随机推荐

  1. vagrant WARNING: You are not using an encrypted connection

    开发环境:vagrant 1.7 + centos 6(i386) + LAMP Drupal版本:7.53 在vagrant LAMP开发环境中,给Druapl安装模块时,显示WARNING: Yo ...

  2. 304 CORS

    304响应, CORS问题: 没有 Access-Control-Allow-Origin 这个头信息时,以前次返回的200请求为准. 示例:可能已被删除 http://7af3zm.com1.z0. ...

  3. 关于async与await的FAQ 转

    (译)关于async与await的FAQ 传送门:异步编程系列目录…… 环境:VS2012(尽管System.Threading.Tasks在.net4.0就引入,在.net4.5中为其增加了更丰富的 ...

  4. Newtonsoft.Json 基本用法

    Newtonsoft.Json 是.net 开源的一个json格式处理类库 官方网站:http://json.codeplex.com/ 在使用的项目引用Newtonsoft.Json库.平常使用的方 ...

  5. AMQ学习笔记 - 06. 可靠消息传送

    概述 本文介绍JMS中可能发生消息故障的3个隐患阶段,以及确保消息安全的3种保障机制. 故障分析 在介绍可靠传送的确保机制之前,先分析消息在传送的过程中可能在哪个阶段出现问题. 1.两个跃点 跃点的含 ...

  6. php面向对象的基础:创建OOP的类和字段

    类的创建 class Computer{ //类的字段(成员) //类的方法 } 对象的声明 $computer = new Computer(); new标识符是为了在内存中创建一个对象(实例),而 ...

  7. Coarse-Grained lock 粗粒度锁

    用一个锁Lock一组相关的对象 有时,需要按组来修改多个对象. 这样,在需要锁住其中一个的时候,必须连带地将其他的对象都上锁. 为每一个对象都加上一个锁是很繁琐的. 粗粒度锁是覆盖多个对象的单个锁. ...

  8. [javascript|基本概念|一元操作符]学习笔记

    只操作一个值的操作符 递增/递减操作符 前置型/后置型 前置型:操作符位于操作数前面 e.g.: var a = 30; ++a; 等同于 var a = 30; a = a + 1; --> ...

  9. 杭电ACM2011-- 多项式求和

    题目地址 :多项式求和 /* #include<stdio.h> int main() { int n,b; double a[110],x; double z; int i,j; int ...

  10. 网易面试题:和为n连续正数序列

    题目: 输入一个正数n,输出所有和为n连续正数序列.例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5.4-6和7-8. 继续做些题目,看到这是网易面试题,于是 ...