加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 19:13:50 所属栏目:百科 来源:网络整理
导读:cocos2d-x中提供了CClayerMultiplex类(派生自CClayer),它可以管理多个层,并实现不同层间的切换,但是同一时间只能有一个层是激活状态,其他都是不可见的 添加层进行管理 [cpp] view plain copy static CCLayerMultiplex*create(CCLayer*layer,...); 切换

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


添加层进行管理

[cpp] view plain copy
  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. }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读