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

前端之家收集整理的这篇文章主要介绍了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. }

猜你在找的Cocos2d-x相关文章