改变CCAnimation的延迟

时间:2012-03-30 14:05:15

标签: cocos2d-iphone delay

我想知道,我怎样才能改变CCAnimation的延迟?

_monstrAnim = [CCAnimation animationWithFrames:monstrAnimFrames delay:0.1f];
                self.monstr = [CCSprite spriteWithSpriteFrameName: [NSString stringWithFormat:@"monstr_%d_1.png", currentLevel]]; 
                self.walkAction = [CCRepeatForever actionWithAction:[CCAnimate actionWithAnimation:_monstrAnim restoreOriginalFrame:NO]];
                [self.monstr runAction:self.walkAction];
                [monstrSpriteSheet addChild:self.monstr z:1];

这个工作正常,但我应该改变FPS的速度,我做...

            [self.monstr stopAllActions];
            [self.monstr runAction:self.walkAction];
            [self.monstrAnim setDelay:1];

但没有发生......

1 个答案:

答案 0 :(得分:5)

停止walkAction,然后更改动画延迟,然后重新创建动作并再次运行。如果您将查看抛出CCAnimate的代码,您将看到,CCAnimation对象的帧之间的延迟仅在动作创建期间使用。所以这段代码

[self.monstr stopAllActions];
[self.monstrAnim setDelay:1.f];
self.walkAction = [CCRepeatForever actionWithAction:[CCAnimate actionWithAnimation:_monstrAnim restoreOriginalFrame:NO]];
[self.monstr runAction:self.walkAction];

会做到这一点。