在 cocos2d 中停止精灵动画



这是在游戏中发生某些事情时显示精灵表动画的代码,动画工作完美,但在动画帧序列完成后不会停止,我已经做了很多事情来停止动画,但没有什么能给我解决方案,这是我的代码

if(m_bEffectChangeColor){

'

        m_gamecoinffect = [CCSprite spriteWithSpriteFrameName:@"powerup0001"];
          [self addChild:m_gamecoinffect z:3];

        CCAnimate *coineffect = [CCAnimate actionWithSpriteSequence:@"powerup%04d" numFrames:30 delay:0.1f restoreOriginalFrame:NO];
        [m_gamecoinffect runAction:[CCRepeatForever actionWithAction:coineffect]];
        m_gamecoinffect.position = ptEffectPos;
        CCCallBlock *block = [CCCallBlock actionWithBlock:^{
            //[m_gamecoinffect stopAllActions];
            [self removeChild:m_gamecoinffect cleanup:YES];
        }];
        CCDelayTime *time = [CCDelayTime actionWithDuration:1];
        [m_gamecoinffect runAction:[CCSequence actions:time, block, nil]];

'

上面的代码我试图添加计时器和我所知道的一切,但没有任何效果,,,我想停止动画并从图层中删除这些精灵。

提前谢谢。

动画不会停止,因为CCRepeatForever是永远连续动画的动作。更改以下行:

[m_gamecoinffect runAction:[CCRepeatForever actionWithAction:coineffect]];

[m_gamecoinffect runAction:coineffect];

最新更新