Cocos2d-X 学习笔记 18 CCLayerMultiplex管理多个层

cocos2d-x中提供了cclayerMultiplex类(派生自cclayer),它可以管理多个层,并实现不同层间的切换,但是同一时间只能有一个层是激活状态,其他都是不可见的


添加层进行管理

  1. staticcclayerMultiplex*create(cclayer*layer,...);


切换不同层

copy
    //切换到指定层
  1. voidswitchTo(unsignedintn);
  2. //切换到指定层,并释放当前层
  3. voidswitchToAndReleaseMe(unsignedintn)

不过这货的缺点也很明显:功能有限,不能实现不同层之间切换的过渡效果


在cocos2d-x体重的实例:TestCpp中MenuTest中使用了cclayerMultiplex

copy
    //添加需要管理的层
  1. voidMenuTestScene::runThistest()
  2. {
  3. cclayer*pLayer1=newMenuLayerMainMenu();
  4. cclayer*pLayer2=newMenuLayer2();
  5. cclayer*pLayer3=newMenuLayer3();
  6. cclayer*pLayer4=newMenuLayer4();
  7. cclayer*pLayer5=newMenuLayerPrioritytest();
  8. cclayer*pLayer6=newBugstest();
  9. cclayerMultiplex*layer=cclayerMultiplex::create(pLayer1,pLayer2,pLayer3,pLayer4,pLayer5,pLayer6,NULL);
  10. addChild(layer,0);
  11. ......
  12. CCDirector::sharedDirector()->replaceScene(this);
  13. }
  14. //切换层
  15. voidMenuLayerPriorityTest::menuCallback(CCObject*pSender)
  16. {
  17. ((cclayerMultiplex*)m_pParent)->switchTo(0);
  18. }

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...