iPhone:Cocos2d如何制作一个序列

时间:2010-05-26 18:56:40

标签: iphone objective-c cocos2d-iphone

我有两个标识,我希望彼此进来。

我想使用CCFadeIn和CCFadeOut。

我有Logo1,然后我想要它到CCFadeIn,然后我希望它保持2秒,然后使用CCFadeOut淡出,然后使Logo2 CCFadeIn持续1秒,停留2秒然后消失在CCFadeOut的1秒钟内。

我怎么做到这一点我不完全确定。我似乎无法找到一种方法来使CCAction触发一个方法(让我们说-finishedFadingInLogo1 :),所以我不知道该怎么做。

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

...某处:...

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

...

-(void)finishedFadingInLogo1
{
   [logo2 runAction:blah, yada, nil];
}

有意义吗?还有其他类似于CCCallFunc的行为采取args等......

答案 1 :(得分:4)

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

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];