首页 > 其他分享 >cocos2dx之CCLayerMultiplex

cocos2dx之CCLayerMultiplex

时间:2023-08-25 15:07:28浏览次数:45  
标签:cocos2dx CCLayer CCLayerMultiplex pParent release new MenuDemo


刚开始接触这个东西,弄了好久都没有弄好,我自己太笨了,现在我将如何创建一个CCLayerMultiplex过程写出来,代码如下:

CCLayer *mainLayer = new MenuDemo;
    CCLayer *menu1 = new MenuDemoItem1;
    CCLayer *menu2 = new MenuDemoItem2;
    CCLayer *menu3 = new MenuDemoItem3;

    CCLayerMultiplex *Menu_multiplex = CCLayerMultiplex::create(mainLayer, menu1, menu2, menu3, NULL);
    addChild(Menu_multiplex, 0);

    mainLayer->release();
    menu1->release();
    menu2->release();
    menu3->release();
    
    CCDirector::sharedDirector()->replaceScene(this);



首先在你的scene中创建这个   CCLayerMultiplex,不要调换了代码顺序哦!


然后写回调函数了:

void MenuDemo::fontMenu1_callBack(CCObject *object) {
    ((CCLayerMultiplex*)(m_pParent))->switchTo(2);
}

void MenuDemo::fontMenu2_callBack(CCObject *object) {
    ((CCLayerMultiplex*)(m_pParent))->switchTo(3);
}

void MenuDemo::fontMenu3_callBack(CCObject *object) {
    ((CCLayerMultiplex*)(m_pParent))->switchTo(1);
}



这个MenuDemo就是当前的scene,特别要注意回调函数里面的m_pParent参数, /** A weak reference to the parent */它是之指的当前的所激活的node!


这样基本上就创建完成了!

标签:cocos2dx,CCLayer,CCLayerMultiplex,pParent,release,new,MenuDemo
From: https://blog.51cto.com/u_13566975/7230890

相关文章

  • cocos2dx 之如何创建label 做计分板
    首先创建label:gameScoreLabel=CCLabelTTF::create("0","Arial",30);gameScoreLabel->setColor(ccRED);gameScoreLabel->retain();gameScoreLabel->setPosition(ccp(s.width/6,s.height/6));this->addChild(gameS......
  • cocos2dx之播放音乐
    在游戏时,背景音乐应该说是必不可少的,但是在cocos2dx中如何播放音乐呢,我们看如下代码:CCSize>>如果用stop的话,那么我得再重新playmusic了!关于背景音乐,cocos2dx在不同平台下支持的格式:Android:mp3,wav,3gpIos:mp3,cafWin32:MID,WAV关于音效,cocos2dx在不......
  • cocos2dx-js 帧动画的播放方法
    ctor:varload=ccs.load(res.Ani_json);varmainNode=load.node;this.addChild(mainNode);//对应帧动画的节点,使用seekWidgetByName无效,需要用getChildByNamethis._spriteAni=mainNode.getChildByName("spriteAni");this._spriteAni.setVisible(false);this._lo......
  • cocos2dx-3.16截屏遇坑
    clippingNode用到模板就是这个东西 截屏的内容如果有clippingNode就会背景白屏是个什么感觉。。试一试就知道了。解决方案 RenderTexture::create(visibleSize.width,......
  • cocos2dx 在windows上实现键盘输入
    cocos2d主要面向的是触摸屏幕设备的,在WINDOWS下的定位感觉多多少少就是相当于一个模拟器,因此并没有太多的PC下重要的键盘支持。然而响应键盘消息对于调试来说可以提供不少......
  • COCOS2DX WIN32 版本的CPU占用25%改良策略
    cocos2dx\platform\win32\CCApplication.cpp,大致长像如下:while(1){if(有消息){if(时间到)更新计时,call主循环函数;elseSleep(0);}//其他跳出循环判断代码}......
  • COCOS2DX 3.0 优化提升渲染速度 Auto-batching
    COCOS2DX3.0优化提升渲染速度Auto-batchingAutoCulling动态缩减功能下面就来仔细看看吧:整合好的渲染提速干货:简介在游戏的绘制渲染中,往往消耗很多资源和内存,当绘制......
  • 【COCOS2DX-LUA 脚本开发之一】在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介
    本站文章均为​​ 李华明Himi ​​​原创,转载务必在明显处注明对于游戏公司而言,采用游戏脚本lua、python等进行开发也很常见,但是很多童鞋对脚本并没有很熟悉的概念,本篇则......
  • 【iOS-cocos2d-X 游戏开发之七】整合Cocos2dX的Android项目到Xcode项目中,Xcode编写&编
    本站文章均为​​ 李华明Himi ​​​原创,转载务必在明显处注明此篇针对较早的-x引擎讲解的,最新的可以参考:​​ 【Cocos2d-X(2.x)游戏开发系列之二】cocos2dx最新2.0.1......
  • 【iOS-cocos2d-X 游戏开发之六】使用Base64算法对Cocos2dX自带CCUserDefault游戏存储
    本站文章均为​​ 李华明Himi ​​​原创,转载务必在明显处注明上一篇介绍了,如何使用Cocos2dX自带的CCUserDefault存储游戏数据,那么Himi也提到此方式保存的为xml格式并且......