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

时间:2010-08-03 15:40:20

标签: iphone save cocos2d-iphone state

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

谢谢,

NONONO

1 个答案:

答案 0 :(得分:9)

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

[[Director sharedDirector] pushScene: newScene];
//...
[[Director sharedDirector] popScene];

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