アプリがバックグラウンドに移動してフォアグラウンドに戻ると、アニメーションが何らかの形で蓄積され、超高速で適用されるという奇妙な状況があります。たとえば CCRotateBy は、アプリがバックグラウンドにあった時間に追いつき、スプライトを非常に速く回転させます。
私のアプリデリゲートには、正しいアプリケーション状態処理があると思います..
- (void)applicationWillResignActive:(UIApplication *)application {
[[CCDirector sharedDirector] pause];
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
[[CCDirector sharedDirector] resume];
[[OALAudioSession sharedInstance] forceEndInterruption];
}
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
[[CCDirector sharedDirector] purgeCachedData];
}
-(void) applicationDidEnterBackground:(UIApplication*)application {
[[CCDirector sharedDirector] stopAnimation];
}
-(void) applicationWillEnterForeground:(UIApplication*)application {
[[CCDirector sharedDirector] startAnimation];
[[OALAudioSession sharedInstance] forceEndInterruption];
}
- (void)applicationWillTerminate:(UIApplication *)application {
CCDirector *director = [CCDirector sharedDirector];
[[director view] removeFromSuperview];
[director end];
}
- (void)applicationSignificantTimeChange:(UIApplication *)application {
[[CCDirector sharedDirector] setNextDeltaTimeZero:YES];
}
これが起こる原因は何ですか?