我正在开发一个基于Cocos3d的iOS项目。我正在运行一个场景,一旦应用程序启动并单击“开始场景”选项。我在场景中有一个后退按钮。单击此返回,将把我们带到应用程序主屏幕。再次点击“开始场景”选项,当前它会启动前一个场景本身。但是,每当单击Back按钮时,我都想停止正在运行的场景并解锁所有资源。然后再次选择“开始场景”选项,它应该会重新启动场景。
有人能建议一下,如何停止运行场景并卸载所有资源pod等吗?
谢谢!
发布于 2014-05-13 01:40:56
可以尝试执行以下操作以停止显示Cocos2D CCScene (包括正在显示的任何3D场景),并释放所有缓存的对象:
CC3Texture.shouldCacheAssociatedCCTextures = NO; // Breaks links between Cocos3D textures and Cocos2D textures
[CCDirector.sharedDirector end]; // Removes active CCScene and clears Cocos2D caches
[CC3OpenGL.sharedGL clearOpenGLResourceCaches]; // Clears Cocos3D caches如果您正在使用CC3ViewController子类,并且在一段时间内不需要任何OpenGL,那么您也可以使用terminateOpenGL方法来执行上述所有操作,并完全关闭OpenGL。有关此操作的示例,请参阅CC3DemoMultiScene演示应用程序。
https://stackoverflow.com/questions/23550208
复制相似问题