cocos2d的Layers

cocos2d的Layers_第1张图片

 

图层:Layers 
     CCLayer同样是CCNode的子类,通常用addChild方法把 CCLayer的子类添加到CCScene中。CCSence提供了一个表演的舞台,而CCLayer提供了舞台中的幕布。

  在一个scene中建多个layer层
class MenuLayer1 : public CCLayer{ } 
class MenuLayer2 : public CCLayer{ }
class MenuLayer3 : public CCLayer{ }
class MenuLayer4 : public CCLayer{ }
 
 
通过switchTo方法进行layer的替换
// 替换到MenuLayer1
void MenuLayer2::menuCallback(CCObject* sender)
{
     ((CCLayerMultiplex*)m_pParent)->switchTo(0);
}
MenuLayer1(0), MenuLayer(1), MenuLayer(2)....



     CCLayer 对象定义了可描绘的区域,定义了描绘的规则。CCLayer可以实现半透明的效果,令您看到它背后的layers。概括地说:CCLayer 用于定义外观和事件behavior。所以,当编写cocos2d程序的时候,大部分工作就是编写CCLayer的子类去实现所要的效果。 
cocos2d的Layers_第2张图片


 
CCLayer 负责处理事件event。Events 会从第一个向最后一个layers传递,直至某个layer获取event并处理它。

虽然某个时候,你需要客户化一个CCLayer类, 但cocos2d已经实现了多种功能的layers(比如菜单layer: CCMenu, 颜色层layer: CCColorLayer,等等)。
Layers 可以包含CCSprite 对象, CCLabel 对象 和其它layer对象。
layers是CCNode的子类,所以他们也可以使用actions来转 换坐标. See Actions for more detail about actions.
CCLayer:
  在同一个场景中需要多个CCLayer时:
方法1
CCScene* scene
CCLayer* backgroundscene
CCLayer* userInterfaceLayer

return

方法2
创建CCScene的子类,然后在各个场景的init方法中生成CCLayer层和其它的对象

你可能感兴趣的:(cocos2d的Layers)