zoukankan      html  css  js  c++  java
  • cocos2d-x 两个场景间进行传参数

    在coco2d-x中,两个场景间进行传值可以说是一种问题

    就如:

             你有两个场景,第一场景是用户登录界面,第二场景则是你登录后的界面,你如何将用户登录的值传到第二个场景呢

     

    在我朋友(曾文理)与同事的帮助下,终于可以传值了,嘿嘿。

    我总结为两种方法(有两个场景 firstScene, secondScene)

    一:1)在secondScene.h 中加入成员变量,如 int sceneNum;

            并在secondScene.cpp的init()方法里,sceneNum = 0;//可以省略这句

             2)在firstScene转到第二场景时,调用一下一下方法

                  

    [html] view plain copy
    1. <span style="white-space:pre">  </span>   CCScene* scene = CCScene::create();  
    2.            secondScene *layer = secondScene::create();  
    3.            layer->sceneNum = 1;  
    4.            scene->addChild(layer);//类似firstScene中的scene()方法  
    5.            CCDirector::sharedDirector()->replaceScene(CCTransitionFade::create(1.5f,scene));  

           3)在secondScene.cpp的验证sceneNum 的值是多少

                比如,你可以再点击事件中ccTouchBegan()中写入

      CCLOG("...........");
     if (sceneNum == 0)
     {
      CCLOG("00000000000");
     }
     else if(sceneNum == 1)
     {
      CCLOG("1111111111111111111");
     }
     CCLOG("...........");

    你就发现就为输出1111111111111了;

    二:1)在secondScene.h中添加一个静态参数:static int sceneNum;

                  在secondScene.cpp中的方法外面写一个全局变量

                       int TableViewLayer::sceneNum = 0;

               2)在firstScene.h中类外写 class secondScene;并在属性中写secondScene* secondLayer;

            3)在firstScene.cpp转到第二场景方法写

                              secondScene->sceneNum = 1;

                       CCScene* scene = secondScene::scene();//一定要secondScene->sceneNum = 1放在第一行,因为此时init中sceneNum的值为1,否则则为0;
                       CCDirector::sharedDirector()->replaceScene(CCTransitionFade::create(1.5f,scene));

            4)   然后就像上面说的,试试看sceneNum为多少。

     

    差不多就这样了,希望对大家有所帮助,如有疑问,请提问。

  • 相关阅读:
    优先队列
    Problem W UVA 662 二十三 Fast Food
    UVA 607 二十二 Scheduling Lectures
    UVA 590 二十一 Always on the run
    UVA 442 二十 Matrix Chain Multiplication
    UVA 437 十九 The Tower of Babylon
    UVA 10254 十八 The Priest Mathematician
    UVA 10453 十七 Make Palindrome
    UVA 10163 十六 Storage Keepers
    UVA 1252 十五 Twenty Questions
  • 原文地址:https://www.cnblogs.com/Anzhongliu/p/6091786.html
Copyright © 2011-2022 走看看