我有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”,小狗);
// '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值。 请帮帮我一个人。 提前谢谢。
答案 0 :(得分:3)
你必须编写自己的创建函数,它将采用这个参数。这是一个例子:
在* .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初始化。