我该怎么做?
在我的一个UIViews(nib文件)上,我有ImageView和一个启动全屏Cocos2d场景的Button。在该场景中,我想关闭它并返回到UIView,以便用户稍后可以再次打开场景但是从ImageView中的不同图像(以及场景中的不同内容)。
然而,在我第一次“关闭”场景之后,整个应用程序对所有触摸事件反应迟钝。只要场景开启,它就能快速工作,但是当关闭时,性能会下降。
我应该如何正确关闭场景以便我可以重新启动它?我浏览过很多代码示例,而且到处都是replaceWithScene:newScene
。
答案 0 :(得分:0)
将UIView添加到包含正在运行的openGL图层的viewController会减慢应用程序的速度,因为任何尝试将UIScrollView合并到Cocos2D游戏中的人都可以告诉您。您正在关闭场景,但可能无法停止CCDirector,它现在在应用程序的调度程序旁边运行自己的调度程序。当他们争夺CPU的统治地位时,OpenGL总是赢得胜利,因为它需要更多的权力。
确保您完全关闭cocos2D和OpenGL。即使只调用[[CCDirector sharedDirector]暂停]。