CCRepeatForever睡眠后不立即恢复

时间:2013-05-30 12:15:33

标签: iphone cocos2d-iphone sleep repeat resume

在cocos2D驱动的iphone应用程序中,我使用CCRepeatForever操作使背景通过。当我调试应用程序(通过XCode构建和运行)时,它工作正常。即使我退出应用程序并恢复它,也没问题。

然而,当我将应用程序捆绑到.ipa进行beta测试时,我遇到了一个奇怪的问题:
在发布时,背景很顺利。
但是如果我退出应用程序并稍后恢复游戏,该应用程序会将我带回到我离开的地方,一切正常但移动的背景。过了一段时间(大概与我退出应用程序后的时间成正比),背景开始再次移动,没有我做任何特别的事情。
这是一个知道问题吗? 感谢

1 个答案:

答案 0 :(得分:0)

OH,我刚才有一个非常类似的问题。我会暂停比赛,然后在恢复时什么都不会发生,那么它会突然跳起来,我会被怪物蜂拥而至。

我无法准确地告诉你在哪里看,但这就是我在做的事情:

我有一个未使用(ccTime)dt来计算时间的计时器,但是使用的是NSDate时间戳。问题是我根据日期在某个时间安排了一个事件,但是使用dt来确定何时触发事件。

据我所知,暂停游戏暂停了预定的事件,所以“dt”根本没有增加,但是系统时钟一直在滴答作响,所以最终发生的事情是我会停下来说10秒钟,系统时钟上升并触发,但“dt”正在加入浮动时间,并且直到赶上,没有任何反应。

您可能需要查找的内容是使用NSDate或unix时间戳或iPad / iPod系统时钟的预定事件。停止模拟器时,系统时钟的运行方式似乎与实际的iPad不同。

抱歉,我不知道这些东西是如何工作的,但是我也经历了一个类似问题的痛苦时期,它基于系统计时器。只要确保你正确地暂停了CCDirector的一切,并确保你没有使用任何系统时钟的东西来进行游戏时间