【问题标题】:How to get value from scene which i have pass from other scene in cocos2d for android?如何从我从 cocos2d for android 中的其他场景传递的场景中获取价值?
【发布时间】:2013-11-26 17:43:45
【问题描述】:

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

现在的值为 3 (ZeroScene::scene(3)) 并且能够在 ZeroScene 中得到这个值

CCScene* ZeroScene::scene(int pups) { CCLog("选中的小狗是:%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 值。 请帮助我的人。 提前致谢。

【问题讨论】:

    标签: android c++ cocos2d-x


    【解决方案1】:

    你必须编写你自己的创建函数来接受这个参数。这是一个例子:

    在你的 *.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 初始化。

    【讨论】:

    • 非常感谢洛西瓦蒂。我有其他解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多