我在iPhone的cocos2d 3.0项目中遇到问题,基本上该动画在将应用程序发送到后台时停止动画,并且在重新启动该应用程序时不再重新开始。
整个Xcode项目是完全从我的另一个项目复制而来的,该项目没有出现此错误,我要做的唯一主要事情就是集成了几个广告网络(Chartboost和PlayHaven)-但我已将所有广告代码注释掉了测试这是否是原因,并且没有效果。
工作中的(较旧的)项目以60 FPS运行(通过状态为的控制台条目观察到cocos2d: animation started with frame interval: 60.00
),并在发送到后台(标准cocos2d行为)时降至4 FPS,然后在再次启动时以60 FPS重新启动。我的项目在以4 FPS重新启动时遇到问题,但是即使这样也是错误的-根本没有动画。
我试图在下面添加以下代码 applicationDidBecomeActive:
[[CCDirector sharedDirector] setAnimationInterval:1.0/60];
[[CCDirector sharedDirector] startAnimation];
这使得控制台日志在重新启动时显示为60 FPS而不是4 FPS,但它对动画仍然没有实际影响-它仍处于停止状态。
问题似乎是applicationDidBecomeActive
我的应用程序委托中存在该方法-包含该方法的任何内容都将阻止cocos2d正确重启动画。
解决方案是-在您的方法内部-像这样添加对超类的调用:
[super applicationDidBecomeActive:application];
我在此方法中使用Chartboost代码,这就是为什么它出现在该项目中而不是我的较老(工作中的)代码的原因-当我测试以确定广告集成是否是原因时,我只是注释掉了Chartboost代码,而不是整个方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句