如何在不替换场景的情况下直接杀死cocos2d场景

时间:2013-04-25 21:11:01

标签: objective-c cocos2d-iphone scene

我用这种方式用UIViewController开始游戏:

navController = [[MyNavigationController alloc] initWithRootViewController:myController];

当你按下游戏按钮时,游戏就会以这种方式启动场景:

[[CCDirector sharedDirector] runWithScene:gameScene];
好吧,现在当我想要退出时,我只需要替换UIViewController(因为我用UIKit做了菜单,用cocos2d做了游戏)和起始视图控制器来做我想要的动画,它工作得很好......但很明显旧的运行场景仍然保留在内存中,它不会以任何方式解除分配,我需要删除场景并使应用程序像第一次运行时一样。

replaceScene无法正常工作,我只需要停止运行场景,并在应用程序开始运行时完成所有操作,直接从[CCDirector sharedDirector],我该怎么办? popScene也不行。

1 个答案:

答案 0 :(得分:0)

您可以从应用程序中删除CCDirector。

导演是一个简单的UIViewController所以,你可以调用

[[CCDirector sharedDirector] removeFromParentViewController];

并在调用[[CCDirector sharedDirector] end];后删除单例实例