2017-01-02 103 views
0

这是显示精灵图片动画的代码,如果游戏中发生了某些事情,动画完美无缺,但在动画帧序列完成之后它不会停止,我已经做了很多事情来停止动画,但没有什么是给我的解决方案,这是我的代码在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]]; 

`

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

在此先感谢。

回答

2

动画不停止,因为CCRepeatForever是动画永远意味着不断的动作。下面更改行:

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

随着

[m_gamecoinffect runAction:coineffect]; 
+0

确定感谢您的重播,,让我检查其工作或不..再次感谢您 – ICoder