首页 > 代码库 > Cocos2d-x内置的常用层

Cocos2d-x内置的常用层

为了方便游戏开发者,Cocos2d-x内置了3种特殊的CCLayer,具体如下所示。 
 
CCLayerColor:一个单纯的实心色块。
CCLayerGradient:一个色块,但可以设置两种颜色的渐变效果。
CCMenu:十分常用的游戏菜单 
 
CCLayerColor与CCLayerGradient
 
 
这两个层十分简单,都仅仅包含一个色块。不同的是,前者创建的是一个实色色块,而后者创建的是一个渐变色块。图3-7 展示了 Cocos2d-x 测试样例中 CCLayerColor 与 CCLayerGradient 的效果
 
 
 
CCLayerColor拥有以下初始化方法:如果采用指定了宽与高的初始化方法,则创建一个指定大小的色块;如果采用不指定 大小的初始化方法,则创建一个屏幕大小的色块。CCLayerColor 的创建方法和初始化方法如下所示:
 
static CCLayerColor * create(const ccColor4B& color);
static CCLayerColor * create(const ccColor4B& color, GLfloat width, GLfloat height); bool initWithColor(const ccColor4B& color); 
 
bool initWithColor(const ccColor4B& color, GLfloat width, GLfloat height); 
 
 
 
 
CCLayerGradient与CCLayerColor类似,但是它在初始化时需要指定两种颜色以及渐变的方向。在初始化方法中,start 参数为起始颜色,end 参数为结束颜色,而 v 是方向向量。CCLayerGradient 的创建方法和初始化方法如下所示:
 
 
static CCLayerGradient* create(const ccColor4B& start, const ccColor4B& end);
  • static CCLayerGradient* create(const ccColor4B& start, const ccColor4B& end,

  • ?   const CCPoint& v);

  • ?   bool initWithColor(const ccColor4B& start, const ccColor4B& end);

  •  
    ?   bool initWithColor(const ccColor4B& start, const ccColor4B& end, const CCPoint& v);
     
     
在色块创建后,也可以通过下面列举的方法来修改色块大小:
  •  
    void changeWidth(GLfloat w);
    • void changeHeight(GLfloat h);
      • void changeWidthAndHeight(GLfloat w ,GLfloat h);
      •  
       
     
     
 
 

 ccmenu稍后会介绍