iPhone:Cocos2d如何制作序列

iPhone:Cocos2d如何制作序列,iphone,objective-c,cocos2d-iphone,Iphone,Objective C,Cocos2d Iphone,我有两个logo,我想在彼此之后加入 我想用CCFadeIn和CCFadeOut 我有Logo1,然后我想让它变成CCFadeIn,然后我想让它停留2秒钟,然后用CCFadeOut让它淡出,然后让Logo2变成CCFadeIn,停留2秒钟,然后用CCFadeOut在1秒内消失 我不完全确定我将如何做到这一点。我似乎找不到一种方法来让CCAction fire成为一种方法(比如-finishedFadingLogo1:),所以我不知道如何做到这一点 有什么想法吗?…某处: [logo1 runAc

我有两个logo,我想在彼此之后加入

我想用CCFadeIn和CCFadeOut

我有Logo1,然后我想让它变成CCFadeIn,然后我想让它停留2秒钟,然后用CCFadeOut让它淡出,然后让Logo2变成CCFadeIn,停留2秒钟,然后用CCFadeOut在1秒内消失

我不完全确定我将如何做到这一点。我似乎找不到一种方法来让CCAction fire成为一种方法(比如-finishedFadingLogo1:),所以我不知道如何做到这一点

有什么想法吗?

…某处:

[logo1 runAction:
  [CCSequence actions:
    [CCFadeIn actionWithDuration:SOMETIME], 
    [CCDelayTime actionWithDuration:2], 
    [CCFadeOut actionWithDuration:SOMEOTHERTIME], 
    [CCCallFunc actionWithTarget:SOMETARGET selector:@selector(finishedFadingInLogo1)], 
    nil
  ]
];


有道理吗?还有其他类似于
CCCallFunc
的操作,这些操作使用args,例如…

为了更好地可读性,科林的答案重新格式化:

id fadein = [CCFadeIn actionWithDuration:2];
id delay = [CCDelayTime actionWithDuration:2];
id fadeout = [CCFadeOut actionWithDuration:2];
id call = [CCCallFunc actionWithTarget:self selector:@selector(doneFading)];
CCSequence* sequence = [CCSequence actions:fadein, delay, fadeout, call, nil];
[aNode runAction:sequence];

提示:更好的格式将有助于说明这一点。就我个人而言,我也不会将所有动作塞进序列行,而是创建保存每个动作的局部变量。使代码具有更好的可读性(和可维护性)。
id fadein = [CCFadeIn actionWithDuration:2];
id delay = [CCDelayTime actionWithDuration:2];
id fadeout = [CCFadeOut actionWithDuration:2];
id call = [CCCallFunc actionWithTarget:self selector:@selector(doneFading)];
CCSequence* sequence = [CCSequence actions:fadein, delay, fadeout, call, nil];
[aNode runAction:sequence];