Cocos2d iphone 如何在帧之间进行不同延迟的拍摄

Cocos2d iphone 如何在帧之间进行不同延迟的拍摄,cocos2d-iphone,Cocos2d Iphone,我想要一个“闪烁”的精灵,让它显示第1帧2秒,然后显示第2帧0.1秒,然后再次显示第1帧2秒,并永远重复。现在我可以用CCDelayTime编写代码并自己构建这个逻辑,但是如果我能让CCAnimation来处理这个问题,或者有一个更干净的方法,那就太好了 有没有办法创建帧间延迟不同的C动画,或者什么是归档我的目标的最佳/简单方法 多谢各位 瑟伦(Søren)cAnimation不支持开箱即用。因为我们只讨论了两帧,所以我发现直接用代码对其进行动画制作比较容易,比如(伪代码): 这还有一个额外的好

我想要一个“闪烁”的精灵,让它显示第1帧2秒,然后显示第2帧0.1秒,然后再次显示第1帧2秒,并永远重复。现在我可以用CCDelayTime编写代码并自己构建这个逻辑,但是如果我能让CCAnimation来处理这个问题,或者有一个更干净的方法,那就太好了

有没有办法创建帧间延迟不同的C动画,或者什么是归档我的目标的最佳/简单方法

多谢各位

瑟伦(Søren)

cAnimation不支持开箱即用。因为我们只讨论了两帧,所以我发现直接用代码对其进行动画制作比较容易,比如(伪代码):

这还有一个额外的好处,就是不总是创建和发布动作

您还可以尝试使用CCAnimate操作,并在帧更改时不断更改其延迟属性。但我不确定这是否正确


最后,您可以将CCAnimate子类化,添加一个延迟数组(每帧一个),并自定义更新方法,以便从延迟数组中获取延迟,而不是使用固定延迟。

也许您可以使用CCSequence创建一个动画序列;对于每个动画,可以调整if的持续时间。 您只需创建两个(或更多)具有持续时间的动画,然后执行以下操作:

CCSequence *sequence = [CCSequence actions:action1,action2,nil];
[sprite runAction:sequence];

嗨,斯蒂芬。谢谢你的回答,我想使用updatedAnimation方法,但是我该如何使用它呢?我有一个CCSprite的子类,正在考虑在那里添加方法,然后我应该调用[self schedule:@selector(updateAnimation:)interval:2.0f];开始吗?是的,你就是这么做的。:)我也会使用这种方法,然后添加一个CCRepeatForever动作,如果它应该是一个无休止的动画循环
CCSequence *sequence = [CCSequence actions:action1,action2,nil];
[sprite runAction:sequence];