cocos2d的暂停/恢复

来源:互联网 发布:淘宝高佣金采集软件 编辑:程序博客网 时间:2024/05/16 06:37

cocos2d提供了比较重要的有3种暂停、恢复的机制

分别是CCDirector, CCActionManager, CCScheduler提供的

1 CCDirecotor:

-(void) pause;

-(void) resume;

导演类的暂停恢复是针对整个运行场景的,所以如果我们还想在暂停的画面上做其他事情,不推荐这种方法

2 CCActionManager

-(void) pauseTarget:(id)target;

-(void) resumeTarget:(id)target;

3 CCScheduler

-(void) pauseTarget:(id)target;

-(void) resumeTarget:(id)target;

这2个类的方法就很明了了,都是针对具体对象的,方便我们更灵活的做各种操作,

游戏中一般是使用CCNode提供的pauseSchedulerAndActions方法

这个方法的代码如下:

- (void) pauseSchedulerAndActions

{

[[CCScheduler sharedSchedulerpauseTarget:self];

[[CCActionManager sharedManagerpauseTarget:self];

}

这样我们就可以很方便的针对任意cocos2d对象做暂停/恢复的操作了,

本博注:所以对想要暂停的CCNode子类,只要直接调用pauseSchedulerAndActions方法即可。

例: [ccsprite pauseSchedulerAndActions];

但如果想暂停整个场景,则使用[[CCDirector sharedDirectorpause];

但是 CCMenuItem 不受影响,依然可以响应交互(点击);