cocos2d的Layers

CCLayer是CCNode的子类,通常作为CCScene的子元素添加。它可以实现半透明效果,并处理事件。在cocos2d程序中,主要通过创建CCLayer子类来实现所需功能。CCLayer负责事件传递,允许自定义行为,并可包含精灵、标签等对象。在需要多个CCLayer的场景中,可通过创建CCScene子类或独立的CCLayer实例来实现。
摘要由CSDN通过智能技术生成


 

图层: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的子类去实现所要的效果。 



 
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层和其它的对象

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值