我遇到了一个cocos2d 3.0 iPhone项目的问题,在这个项目中,当应用程序被发送到后台时,动画基本上就停止了,并且在重新启动应用程序时不会再次启动。
整个Xcode项目完全是从我的另一个没有显示这个bug的地方复制出来的,我所做的唯一主要的事情就是集成了几个广告网络(Chartboost和PlayHaven) --但是我已经注释掉了所有的广告代码,以测试这是否是原因而没有效果。
工作(旧的)项目以60 FPS运行(通过状态cocos2d: animation started with frame interval: 60.00的控制台条目观察),并在发送到后台时下降到4个FPS (标准cocos2d行为),然后在60 FPS再次启动时重新启动。这个项目我在4 FPS上重新启动时遇到了问题,但这也是错误的--根本就没有动画。
我尝试在applicationDidBecomeActive:中添加以下代码
[[CCDirector sharedDirector] setAnimationInterval:1.0/60];
[[CCDirector sharedDirector] startAnimation];这使得控制台在重新启动时记录下来,比如60 FPS,而不是4,但它仍然对动画没有实际影响-它仍然只是停止。
发布于 2014-02-23 15:26:21
问题似乎在于我的应用程序委托中是否存在applicationDidBecomeActive方法--如果该方法中包含任何内容,将阻止cocos2d正确地重新启动动画。
解决方案是--在方法中--向超类添加一个调用,如下所示:
[super applicationDidBecomeActive:application];
我在这个方法中有Chartboost代码,这就是为什么它出现在这个项目中,而不是我以前的(工作)代码--当我测试广告集成是否是原因时,我只是注释掉了Chartboost代码,而不是整个方法。
https://stackoverflow.com/questions/21970097
复制相似问题