ios - 在 cocos2d 中停止 Sprite 动画

标签 ios cocos2d-iphone cocos2d-x sprite sprite-sheet

这是在游戏中发生某些事情时显示 Sprite 表动画的代码,动画效果完美但在动画帧序列完成后它不会停止,我做了很多事情来停止动画,但没有任何东西给我解决方案,这是我的代码

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]];

`

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

提前致谢。

最佳答案

动画不会停止,因为 CCRepeatForever 是永远动画的 Action ,意味着连续不断。更改以下行:

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

[m_gamecoinffect runAction:coineffect];

关于ios - 在 cocos2d 中停止 Sprite 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41428509/

相关文章:

cocos2d-iphone - cocos2d v2.0 升级 & RootViewController

c++ - Cocos2d-x v3 : ClippingNode not working on RenderTexture

android - 在 com.android.build.gradle.internal.api.DefaultAndroidSourceSet 类型的源集主上找不到参数 [] 的方法 bitwiseNegate()

ios - 直接从支持 iOS8+ 的 iOS 应用程序重定向到通知设置

c++ - 从侧面而不是从中心缩放 CCSprite

ios - Cocos2d 节点不接受触摸

c++ - “共享应用程序”是 "cocos2d::ccapplication"的私有(private)成员

ios - 访问所有具有相同 categoryBitMask 的单个对象

ios - 多个命令产生错误 - Cocoapods 多个目标和平台

ios - UI 测试 firstMatch