请教一个关于场景切换内存释放的问题

场景pScene1 addchid layerA
场景pScene2 addchid layer
B

在场景pScene1显示的情况下CCDirector::sharedDirector()->replaceScene(pScene2);pScene2做完事以后又需要切换到pScene1
这个时候
pScene = CCScene::create();
pScene->addChild(layerA);
CCDirector::sharedDirector()->replaceScene(pScene1);

会报错,child->m_pParent == 0
请问下这个怎么解决

调用 CCDirector::sharedDirector()->replaceScene(pScene2); 后你的 pScene1应该已经被释放掉,除非你用了pScene1->retain(); 你又调用CCDirector::sharedDirector()->replaceScene(pScene1);切回去,必定出错, 如果你想切换到pScene2,并且保留pScene1, 建议用CCDirector::sharedDirector()->pushScene(pScene2); 当要回到pScene1的时候调用CCDirector::sharedDirector()->popScene(); 此时 pScene2会被释放掉

谢谢兄台。32个赞