cocos2dx Scene 生命周期replaceScene,popScene后续补充

cocos2dx 在多场景切换中,生命周期打印的效果如下:


从 MyScene 场景进入,切换到 HelloWorld 场景,再推出 HelloWorld 场景,流程图(见附件,,,,不知道怎么上传图片,不能粘贴图,郁闷。。。)


打印 log 如下,


MyScene代码:
MyScene::MyScene(){
	cclog("wangss------------->MyScene");
}
MyScene::~MyScene(){
	cclog("wangss------------->~~MyScene");
}
voidMyScene::onEnter(){
	cclog("wangss------------->onEnter");
	Layer::onEnter();

}
voidMyScene::onEnterTransitionDidFinish(){
	cclog("wangss------------->onEnterTransitionDidFinish");
}
voidMyScene::onExit(){
	cclog("wangss------------->onExit");
	Layer::onExit();
}
voidMyScene::onExitTransitionDidStart(){
	cclog("wangss------------->onExitTransitionDidStart");
}
voidMyScene::cleanup(){
	cclog("wangss------------->cleanup");
}

Scene*MyScene::createScene(){
	cclog("wangss------------->createScene");
	autoscene=Scene::create();
	autolayer=MyScene::create();
	scene->addChild(layer);
	returnscene;
}
boolMyScene::init(){
	cclog("wangss------------->init");
	if(!Layer::init()){
		returnfalse;
	}

	SizevisibleSize=Director::getInstance()->getVisibleSize();
	Vec2origin=Director::getInstance()->getVisibleOrigin();

	//spriteTest(visibleSize);
	//labelTest(visibleSize);
	//menuTest(visibleSize);
	//languageTest(visibleSize);
	//scheduleTest(visibleSize);
	//scaleNinespriteTest(visibleSize);
	//shujujiegouTest(visibleSize);
	//actionTest(visibleSize);
	//actionCallBackTest(visibleSize);
	//frameAnimationTest(visibleSize);
	//actionEaseTest(visibleSize);
	//progressActionTest(visibleSize);
	lifeCycleTest(visibleSize);
	returntrue;
}


HelloWorld代码:

HelloWorld::HelloWorld(){
	cclog("wangss------HelloWorld------->HelloWorld");
}
HelloWorld::~HelloWorld(){
	cclog("wangss------HelloWorld------->~~HelloWorld");
}
voidHelloWorld::onEnter(){
	cclog("wangss------HelloWorld------->onEnter");
	Layer::onEnter();

}
voidHelloWorld::onEnterTransitionDidFinish(){
	cclog("wangss------HelloWorld------->onEnterTransitionDidFinish");
}
voidHelloWorld::onExit(){
	cclog("wangss------HelloWorld------->onExit");
	Layer::onExit();
}
voidHelloWorld::onExitTransitionDidStart(){
	cclog("wangss------HelloWorld------->onExitTransitionDidStart");
}
voidHelloWorld::cleanup(){
	cclog("wangss------HelloWorld------->cleanup");
}

Scene*HelloWorld::createScene()
{
	cclog("wangss------HelloWorld------->createScene");

//'scene'isanautoreleaSEObject
autoscene=Scene::create();

//'layer'isanautoreleaSEObject
autolayer=HelloWorld::create();

//addlayerasachildtoscene
scene->addChild(layer);

//returnthescene
returnscene;
}

11-02 15:09:40.290: D/cocos2d-x debug info(23066): wangss------------->createScene

11-02 15:09:40.300: D/cocos2d-x debug info(23066): wangss------------->MyScene

11-02 15:09:40.300: D/cocos2d-x debug info(23066): wangss------------->init

11-02 15:09:40.320: D/cocos2d-x debug info(23066): wangss------------->onEnter

11-02 15:09:40.320: D/cocos2d-x debug info(23066): wangss------------->onEnterTransitionDidFinish

11-02 15:09:43.640: D/cocos2d-x debug info(23066): wangss------HelloWorld------->createScene

11-02 15:09:43.640: D/cocos2d-x debug info(23066): wangss------HelloWorld------->HelloWorld

11-02 15:09:43.640: D/cocos2d-x debug info(23066): wangss------HelloWorld------->init

11-02 15:09:43.760: D/cocos2d-x debug info(23066): wangss------------->onExitTransitionDidStart

11-02 15:09:43.760: D/cocos2d-x debug info(23066): wangss------HelloWorld------->onEnter

11-02 15:09:44.940: D/cocos2d-x debug info(23066): wangss------------->onExit

11-02 15:09:44.940: D/cocos2d-x debug info(23066): wangss------HelloWorld------->onEnterTransitionDidFinish

11-02 15:09:44.940: D/cocos2d-x debug info(23066): wangss------------->cleanup

11-02 15:09:44.940: D/cocos2d-x debug info(23066): wangss------------->~~MyScene

11-02 15:09:46.220: D/cocos2d-x debug info(23066): wangss------HelloWorld------->onExit

11-02 15:09:46.220: D/cocos2d-x debug info(23066): wangss------HelloWorld------->cleanup

11-02 15:09:46.220: D/cocos2d-x debug info(23066): wangss------HelloWorld------->~~HelloWorld

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...