【问题标题】:How to properly setup a Cocos2D Animation Sequence with repeating animations如何正确设置带有重复动画的 Cocos2D 动画序列
【发布时间】:2012-09-14 09:47:31
【问题描述】:
播放动画序列的推荐方法是什么,包括作为结尾的重复动画。例如,这里有几个场景:
- Sprite 出现在屏幕上,播放介绍动画,然后永远重复“空闲”动画
- 带有“idle”动画的 Sprite 会执行一些动作,因此我需要播放一些其他特定动画,在这些动画结束时,Sprite 应该再次开始空闲。
CCSequence 不允许我这样做,因为“空闲”动画被包装到 CCRepeatForever 中。
如果我只是选择在空闲动画之上运行我喜欢的任何动画,我会得到帧闪烁(看起来两个动画是同时播放的)——太糟糕了。
所有动画都在 CCAnimationCache 内...任何建议将不胜感激。
【问题讨论】:
标签:
animation
cocos2d-iphone
【解决方案1】:
我不知道是否有推荐的方法。我要做的是延迟运行第二个动画(重复的动画),或者通过动画完成处理程序将其链接到第一个动画。
进行链接的一种简单方法是在第一个动画的末尾添加一个CCCallFunc 动作,就像这里一样,这将调用触发第二个动画:
CCActionInterval* action = [CCSequence actions:
[CCProgressFromTo actionWithDuration:duration_ from:100.f to:0.f],
[CCCallFunc actionWithTarget:self selector:@selector(startSecondAction)],
nil ];