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



我在cocos2d中创建了一个级别,屏幕上有一个暂停按钮。点击暂停屏幕,它将打开菜单(继续,重新启动,设置)。我希望当我点击重启菜单时,我的级别将从开始开始。我试过删除那个层类,然后再次调用它,但没有成功。我试图替换Scene。它也不起作用。我怎样才能做到这一点?我试过这个,它有效。

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

但我一遍又一遍地调用pushScene,这是写的吗。?这会影响我的比赛吗。因为到目前为止,我正在删除我想重新启动的HelloWorldLayer。

您必须使用replaceScene。有了pushScene,应用程序最终会耗尽内存,因为之前的场景不会被释放。

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

还应验证场景是否在替换场景后解除分配。在解除锁定方法中设置断点。如果不解除分配,这意味着场景正在泄漏,这可能会导致各种奇怪的问题。

最新更新