如何在cocos2d中重启游戏(图层)

时间:2013-02-08 12:18:52

标签: ios objective-c xcode cocos2d-iphone

我在cocos2d中创建了一个级别,我在屏幕上有一个暂停按钮。点击暂停屏幕,它将打开菜单(恢复,重新启动,设置)。我希望当我点击重启菜单时,我的关卡将从头开始。我试过的我删除了该图层类并再次调用它但它没有用。我试图取代斯内恩。它也没有用。我怎么能实现这一目标? 我试过这个并且有效。

[[CCDirector sharedDirector] resume];
    [[CCDirector sharedDirector] pushScene:[HelloWorldLayer node]];

但是它写的是我一遍又一遍地呼叫pushScene。它会影响我的游戏吗?直到现在我正在删除我想再次重启的HelloWorldLayer。

1 个答案:

答案 0 :(得分:0)

您必须使用replaceScene。使用pushScene,应用程序最终将耗尽内存,因为之前的场景没有解除分配。

确保创建一个新场景(如代码示例中所示),不要尝试使用已经运行的场景调用replaceScene,否则将失败。

您还应验证您的场景在replaceScene之后是否取消分配。在dealloc方法中设置断点。如果它没有解除分配,这意味着场景正在泄漏,这可能导致各种奇怪的问题。