Iphone Cocos2d CCActionManager恢复所有操作

Iphone Cocos2d CCActionManager恢复所有操作,iphone,xcode,cocos2d-iphone,Iphone,Xcode,Cocos2d Iphone,这件事把我逼疯了!我肯定会有一个超级简单的答案,但我就是想不出来 使用CCActionManager,我已成功暂停屏幕上当前运行的所有操作。我的问题是,如何让它们再次运行 另外,我试过pauseTarget:self,但它并没有因为某种原因停止当前运行的所有操作 这是我的密码: if (backOrNot == NO) { Pencil = [CCSprite spriteWithFile:@"Pencil.png"]; Pencil.position = ccp(MainChar.po

这件事把我逼疯了!我肯定会有一个超级简单的答案,但我就是想不出来

使用CCActionManager,我已成功暂停屏幕上当前运行的所有操作。我的问题是,如何让它们再次运行

另外,我试过pauseTarget:self,但它并没有因为某种原因停止当前运行的所有操作

这是我的密码:

    if (backOrNot == NO) {
Pencil = [CCSprite spriteWithFile:@"Pencil.png"];
Pencil.position = ccp(MainChar.position.x, MainChar.position.y + 10);
id action = [CCMoveTo actionWithDuration:3 position:ccp(Pencil.position.x, 550)];
    [action setTag:4];
[Pencil runAction:action];
[self addChild:Pencil z:2 tag:4];
NSLog(@"Pencil Shot!");
    [[CCActionManager sharedManager] resumeTarget:self];
}
else{
    [[CCActionManager sharedManager] pauseAllRunningActions];
}
当我进入暂停状态,或者当返回“是”时,我试图停止所有铅笔(其中有许多铅笔)

编辑:

这个问题很容易解决;我的目的是暂停工作。对于所有想知道的人,您可以这样做:

[[CCDirector sharedDirector]pause];

你说得对,答案很简单!:)

暂停所有操作将返回包含暂停操作的NSMutableSet:

CCActionManager* am = [CCActionManager sharedManager];
NSSet* pausedActions = [am pauseAllRunningActions];
稍后,您可以从集合中取消暂停这些操作:

[am resumeTargets:pausedActions];
pausedActions = nil;
确保在恢复后对(非弧:保留)暂停动作和零(非弧:释放和零)暂停动作使用强引用。集合的内容仅在操作恢复之前有效,如果保留集合,则操作完成后将不会解除分配


pauseTarget:self将起作用,如果您运行[self pauseSchedulerAndActions],CCNode类将使用它,这肯定会起作用。

回答得很好!我在运行代码时遇到的唯一问题是,当代码恢复时,新操作开始,但旧对象不会恢复它们的操作?这可能是因为我的代码没有多个对象,只有一个对象是重复“拍摄”的吗?哦。。。我的。。。天哪!!!我刚刚发现有[[CCDIRECTOR SHAREDDIRECTOR]暂停/恢复];!!@$%^&*(&^%$#@!!!!!!