首页 > 代码库 > cocos2dx-CCLayerColor、CCLayerGradient

cocos2dx-CCLayerColor、CCLayerGradient

1.CCLayerColor

   当我们想创建一个单色得Layer层得时候,我们不需要用一张单色得背景图,因为引擎中有这这样一个CCLayerColor这样得一个类,它可以帮我们完成这样得效果。接下来来看一个例子:


1 CCLayerColor * layercolor = CCLayerColor::create(ccc4(24070100255), size.width, size.height);
2 layercolor->setCascadeColorEnabled(false);
3 
4 layercolor->setPosition(ccp(00));
5 this->addChild(layercolor, 0);

 

    注意这里我没有设置AnchorPoint,因为不管你怎么设置,CCLayer都忽略了它得AnchorPoint,它的值始终都是ccp(0.5f, 0.5f).

    运行后你就可以看到一张纯色背景得Layer.

 

 2.CCLayerGradient

      接下来用CCLayerGradient来创建带有两种颜色的layer,例子代码如下:

1 CCLayerGradient * layergradient = CCLayerGradient::create(ccc4(000255),
2                                                               ccc4(255255255255),
3                                                               CCPoint(size.width * 0.5f0));
4 layergradient->setPosition(CCPointZero);
5 layergradient->changeWidthAndHeight(size.width, size.height);
6 this->addChild(layergradient, -1);


    需要注意的是,它与CCLayerColor一样,也是忽略掉了它的锚点,始终都是0,也就是始终锚点在左下角。

 

   我们也可以同时通过行为动作,来达到项目中所需要的效果,例子代码如下:

1 CCActionInterval *fadein = CCFadeIn::create(5);
2 CCActionInterval *fadeOut = fadein->reverse();
3 CCAction *action = CCRepeatForever

          ::create(dynamic_cast<CCActionInterval *>(CCSequence::create(fadein, fadeOut, NULL)));
4  layergradient->runAction(action);

 

只有看到效果才能感受到它得作用,建议自己动手做一下实验,试着改变颜色和动作来达到不同得效果。