如何在保留原始场景状态的同时更改cocos2d中的场景

123*_*321 4 iphone state save cocos2d-iphone

在我的cocos2d项目中,我有两个场景.我使用CCDirector的replaceScene在两者之间转换.是否可以保存当前场景的状态,以便当场景更改为不同的场景,然后更改回原始场景时,原始场景中的所有对象和变量都是相同的.

谢谢,

不不不

Col*_*son 9

而不是使用replaceScene,你可以使用pushScene:popScene.pushScene:将新场景放入堆栈并显示它.完成该场景后,调用popScene以返回堆栈上的上一个场景.

[[Director sharedDirector] pushScene: newScene];
//...
[[Director sharedDirector] popScene];
Run Code Online (Sandbox Code Playgroud)

请注意,这会将您之前的场景留在内存中(如您所知),因此建议replaceScene:您尽可能使用.如果您使用pushScene:popScene,最好保持场景堆栈非常小.