cocos2dx中的背景图层CCLayerColor和渐变图层CCLayerGradient

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(255, 255, 0, 255), ccc4(0, 0, 255, 255), ccp(1, 0));

        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(255, 0, 255, 255), 200, 200);

    /*设置不忽略锚点,在CCLayer和CCScene中默认是忽略锚点的,*/
    ignoreAnchorPointForPosition(false);

    return true;
}
时间: 2024-10-11 09:03:29

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

Cocos2d-X中的动作展示《二》

由于Cocos2d-X中的动作较多,我将所有的动作制作成了一个滚动视图,每个滚动视图上都有动作名,单击滚动视图就可以展示相应的动作 程序效果图: 使用滚动视图实现动作切换 动作展示 首先创建一个ActionMore类 ActionMore.h中的代码 #ifndef _ActionMore_H_ #define _ActionMore_H_ #include "cocos2d.h" #include "cocos-ext.h" USING_NS_CC; USING_

IOS进度渐变图层CAGradientLayer

看支付宝蚂蚁积分,天气预报等好多APP都有圆形渐变效果,今天就试着玩了. 一.CAGradientLayer类中属性介绍 CAGradientLayer继承CALayer,主要有以下几个属性: [email protected](nullable, copy) NSArray *colors; 渐变的颜色 这个数组中只设置一个颜色是不显示的 [email protected](nullable, copy) NSArray<NSNumber *> *locations;每种颜色的最亮的位置 [

cocos2dx中的核心类

一.节点类(Node) 任何要显示在屏幕上的的对象都是结点类,最常见的有场景(Scene),层(Layer),菜单(Menu)精灵(Sprite),菜单类是层的一个子类,层的初始化默认锚点是(0,0),精灵的默认锚点是(0.5,0.5).一个层或一个精灵在它父类上的位置setposition()函数,其实指的是锚点的位置.并且node的旋转,缩放,平移各种action都是基于锚点来进行的. 二.导演类(Director) Director类是cocos2D-x游戏引擎的核心,它用来创建并控制主屏

Cocos2d-X中的坐标

在Cocos2d-x中坐标可以分成四种: 1.GL坐标体系:GL坐标体系左下角为坐标原点,X轴向右,Y轴向上 2.UI坐标体系:UI坐标体系左上角为坐标原点,X轴向右,Y轴向上. 3.世界坐标体系:是窗口的坐标体系,它是GL坐标体系,它是左下角为坐标原点,X轴向右,Y轴向上. 4. 结点坐标体系:是Node的坐标体系,它是GL坐标体系,和世界坐标体系不同的是,它的原点是结点的左下角, 当一个结点调用SetPosition时,使用的参数是它的父结点(渲染树)的坐标体系 CCLayer默认大小和窗口

IOS 创建渐变图层

代码如下 typedef enum { GradientLayerKindLeftRight = 2000, GradientLayerKindUpDown, GradientLayerKindLBRT,//左下-右上 GradientLayerKindLTRB //左上-右下 }GradientLayerKind; //-------------------------------------------------------------- // 创建矩形渐变图层 // // @param

cocos2d-x中的Tiled地图

cocos2d-x中的瓦片地图是通过tiledMap软件制作的,存档格式是.tmx格式.此软件的使用步骤简单总结如下: (1)制作瓦片地图 1 打开软件,软件界面如下图. 2. 新建地图(文件->新文件) 3.增加新图块(地图->新图块) 4. 制作地图.在图层区域,单击右键可以新建图层和对象,上面的工具栏中的工具,制作地图. 5 导出,记住格式一定是tmx格式 说明 有时候,在使用地图的时候,可能会报找不到资源的错误,可以使用xcode打开地图文件,将资源路径修改如图所示形式. 在地图完成后

IOS渐变图层CAGradientLayer

看支付宝蚂蚁积分,天气预报等好多APP都有圆形渐变效果,今天就试着玩了. 一.CAGradientLayer类中属性介绍 CAGradientLayer继承CALayer,主要有以下几个属性: [email protected](nullable, copy) NSArray *colors; 渐变的颜色 [email protected](nullable, copy) NSArray<NSNumber *> *locations;每种颜色的最亮的位置 [email protected] C

Cocos2d-X中的动作特效

Cocos2d-X中提供了非常丰富的动作特效 例如:网格动画 扭曲特效 3D瓷砖波动特效 程序代码: #include "ActionEffect.h" #include "HelloWorldScene.h" static const char* _actionName[] = { "CCFadeOutBLTiles", "CCFadeOutDownTiles", "CCFadeOutTRTiles",

cocos2dx中的设计分辨率与屏幕适配策略

1.首先明确几个概念: 设计分辨率:designResolution,即资源图片的设计尺寸,即美工给你的资源图片的大小,比如(641*964) 屏幕分辨率:又叫帧的大小,glview->setFrameSize(480,640); 这是指你的设备的屏幕的大小,通常手机的屏幕分辨率也就那么几种固定的大小,如480*320,1024*768,等等,在win32模拟器,或其他模拟器中,也指模拟器屏幕的大小. 2.疑问,既然图片是为手机屏幕服务的,干嘛搞这么多概念,直接一切以屏幕为中心不就得了,所有资源