изменить задержку в CCAnimation - PullRequest
3 голосов
/ 30 марта 2012

Я хотел бы знать, как я могу изменить задержку в 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 Ответ

5 голосов
/ 30 марта 2012

Остановите 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];

сделает свое дело.

...