注意:这只发生在我使用cocos2d和spritebuilder时。我只使用了一个工作正常的单一视图应用程序尝试了相同的代码。
当使用applicationDidBecomeActive发送NSLog时,应用程序会在重新打开时变得迟钝且缓慢。这是一个非常简单的应用程序,因此它与密集的图形或流程无关。
MainScene.m
#import "MainScene.h"
@implementation MainScene
int score;
-(void)digButton {
score++;
scoreLabel.string = [NSString stringWithFormat:@"%i", score];
}
@end
然后这是appdelegate中的方法。
-(void)applicationDidBecomeActive:(UIApplication *)application
{
NSLog(@"hi");
}
这种方法对cocos2d不能正常工作吗?
答案 0 :(得分:0)
确保调用超级实现o CCAppDelegate方法:
-(void)applicationDidBecomeActive:(UIApplication *)application
{
NSLog(@"hi");
[super applicationDidBecomeActive:application];
}
如果没有这个,默认的CCAppDelegate实现将不会运行,这将恢复导演:
-(void) applicationDidBecomeActive:(UIApplication *)application
{
[[CCDirector sharedDirector] setNextDeltaTimeZero:YES];
if( [navController_ visibleViewController] == [CCDirector sharedDirector] )
[[CCDirector sharedDirector] resume];
}