小说网 找小说 无限小说 烟雨红尘 幻想小说 酷文学 深夜书屋

cocos2dx CCLayerColor和CCLayerColor

在cocos2dx中,默认的CCLayer背景是黑色的,有些时候需要特殊的Layer,所以cocos2dx中提供了这两种Layer


CCLayerColor是可以改变背景色的Layer,示例如下:

CCSize size = __winSize;
    CCLayerColor* layer = CCLayerColor::create(ccc4(255, 0, 0, 255), size.width/2, size.height/2);
    addChild(layer);

通过create函数创建层,并把它放到父层,效果如下:



create是一个重载函数,有各种重载方式:

static CCLayerColor* create();
    
    /** creates a CCLayer with color, width and height in Points */
    static CCLayerColor * create(const ccColor4B& color, GLfloat width, GLfloat height);
    /** creates a CCLayer with color. Width and height are the window size. */
    static CCLayerColor * create(const ccColor4B& color);

有不带参数,或者只带一个颜色参数,或者带颜色,宽度,高度参数,我们这里用了最复杂的函数。


颜色层可以修改的属性不多,主要是透明度,增加透明度后再看效果:

CCSprite* sprite = CCSprite::create("Images/blocks.png");
    addChild(sprite);
    sprite->setPosition(VisibleRect::center());
    
    CCSize size = __winSize;
    CCLayerColor* layer = CCLayerColor::create(ccc4(255, 0, 0, 255), size.width/2, size.height/2);
    addChild(layer);
    layer->setOpacity(128);

上面的代码,为了更好的表现透明度,在颜色层后加了个精灵,效果如下:



---------------------分割线-----------------------

下面说CCLayerGradient,它是有渐变颜色效果的层,例子如下:

CCLayerGradient* layer2 = CCLayerGradient::create(ccc4(255, 0, 0, 255), ccc4(0, 0, 255, 255));
    addChild(layer2);



posted on 2014-05-01 15:37  牛栏山1  阅读(125)  评论(0编辑  收藏  举报

导航