我有PlayScene.cpp
在这个场景中,我具有这样的通过值:
               CCDirector :: sharedDirector()-> replaceScene(
           CCTransitionPageTurn :: create(1.0f,ZeroScene :: scene(3),true));

现在值是3(ZeroScene :: scene(3)),并且能够在ZeroScene中获得此值

CCScene * ZeroScene :: scene(int pups){
    CCLog(“ selected pup is:%i”,pups);

    // 'scene' is an autorelease object
CCScene *scene = CCScene::create();

// 'layer' is an autorelease object
ZeroScene *layer = ZeroScene::create();

// add layer as a child to scene
scene->addChild(layer);

// return the scene
return scene;


}

现在,我想在ZeroScene.cpp类中使用此int pups值。
请帮我一个人。
提前致谢。

最佳答案

您必须编写自己的create函数,该函数将使用此参数。这是一个例子:

在您的* .h文件中添加:

static ZeroScene* create(int pups);


并在您的* .cpp中:

ZeroScene* ZeroScene::create(int pups) {

    ZeroScene *zs = new ZeroScene();

    if (zs->init()) {
        zs->autorelease();
        //here write your code to initialize everything
    } else
        zs = NULL;

    return zs;

}


然后,您只需在scene()方法中更改创建行。我在这里编写的所有内容都是基本的cocos2d-x初始化。

09-27 06:48