当存在帧率打嗝时,Cocos2d的倾斜动作会超过自身

时间:2014-01-28 02:42:17

标签: ios cocos2d-iphone

这很简单:我有一些精灵正在向一侧重复偏斜动作,然后在我的地图中重复另一侧。

当存在帧率打嗝时,您可以看到突然偏斜超过了自身 - 也就是说,如果它应该在2.0f,它看起来像50.0f或其他什么。如果你稍等一下,它会稳定下来。

我怀疑是由于帧率打嗝,因为它发生在以下情况中:

  • 当手机被锁定然后解锁时。
  • 该应用程序从背景中脱颖而出。
  • 地图场景在Director的场景堆栈中被冻结(因为我使用了pushScene)然后它被恢复(通过调用popScene)。

总是不会发生。我已经看到它出现在iPhone 4和5以及iPad中。

有没有办法控制这种倾斜,所以它不会超过它自己?

cocos2d-iphone 1.0.1

1 个答案:

答案 0 :(得分:0)

当我遇到这样的问题时,因为CCDirector在背景时没有正确暂停..那么你是否确定你正在暂停/恢复导演并在所有正确的位置开始/停止动画?

-(void) applicationSignificantTimeChange:(UIApplication *)application
{
    [[CCDirector sharedDirector] setNextDeltaTimeZero:YES];
}

-(void) applicationDidEnterBackground:(UIApplication*)application
{
    [[CCDirector sharedDirector] stopAnimation];
}

-(void) applicationWillEnterForeground:(UIApplication*)application
{
    [[CCDirector sharedDirector] startAnimation];
}

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    [[CCDirector sharedDirector] resume];
}

- (void)applicationWillResignActive:(UIApplication *)application
{
    [[CCDirector sharedDirector] pause];    
}