如何使用重复动画正确设置Cocos2D动画序列

时间:2012-09-14 09:47:32

标签: animation cocos2d-iphone

播放动画序列的推荐方法是什么,包括作为重复动画的结尾。例如,以下是一些场景:

  1. Sprite出现在屏幕上,播放介绍动画,然后永远重复“空闲”动画
  2. 带有“空闲”动画的精灵会执行一些动作,因此我需要播放一些其他特定动画,最后精灵应该再次开始空转。
  3. CCSequence不允许我这样做,因为“空闲”动画被包装到CCRepeatForever中。 如果我只是选择运行我喜欢的任何动画上面的空转动画,我会看到帧闪烁(看起来两个动画同时播放) - 很糟糕。

    所有动画都在CCAnimationCache中...任何建议都将受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

我不知道是否有推荐的方法。我要做的是延迟运行第二个动画(重复动画)或通过动画完成处理程序将它链接到第一个动画。

进行链接的一种简单方法是在第一个动画结束时添加CCCallFunc动作,就像这里一样,将调用触发第二个动画:

CCActionInterval* action = [CCSequence actions:
           [CCProgressFromTo actionWithDuration:duration_ from:100.f to:0.f],
           [CCCallFunc actionWithTarget:self selector:@selector(startSecondAction)],
           nil ];