【问题标题】:creating sprite animation from sprite sheet cocos2d从精灵表 cocos2d 创建精灵动画
【发布时间】:2012-10-31 05:59:24
【问题描述】:

我正在尝试从精灵表创建动画精灵,为此我正在运行以下命令:

NSMutableArray *bunsenAnimFrames = [NSMutableArray array];
    for(int i = 1; i <= 74; ++i) {
        [bunsenAnimFrames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"15_%i.png", i]]];
    }

    for (int j = 1; j <= 74; ++j) {
        [bunsenAnimFrames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"15_1.png"]]];
    }

    for (int k = 75; k <= 148; ++k) {
        [bunsenAnimFrames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"15_%i.png",k]]];
    }

    for (int l = 1; l <= 74; ++l) {
        [bunsenAnimFrames addObject:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:[NSString stringWithFormat:@"15_1.png"]]];
    }

    NSLog(@"bunsenAnimFrames is %@", bunsenAnimFrames );

    CCAnimation *bunsenAnimationAnimation = [CCAnimation animationWithSpriteFrames:bunsenAnimFrames delay:1/25];

    bunsens = [CCRepeatForever actionWithAction:[CCAnimate actionWithAnimation:bunsenAnimationAnimation]];

然后在用一组平铺的精灵填充舞台时,我运行:

else if (blockValue == 2 || blockValue == 3 || blockValue == 4 || blockValue == 5) {
                bunsen = [CCSprite spriteWithSpriteFrameName:@"15_1.png"];

                if (blockValue == 2) {
                    bunsen.rotation = 90;
                }
                else if (blockValue == 3) {
                    bunsen.rotation = 180;
                }
                else if (blockValue == 4) {
                    bunsen.rotation = 270;
                }
                float tileY = screenSize.height-((countery*startData4)+startData4/2+77.5)/2;
                float tileX = ((counterx*startData4)+startData4/2+5)/2;

                bunsen.position = ccp(tileX,tileY);

                [bunsenAnimation addChild:bunsen];
                [bunsen runAction:bunsens];


            }

这在添加本生精灵(在头文件中声明为精灵)时效果很好,但是在调用[bunsen runAction:bunsens]; 时精灵没有任何反应,有什么原因吗?

【问题讨论】:

    标签: objective-c cocos2d-iphone sprite


    【解决方案1】:

    我为此找到的解决方案是没有使用 CCAnimation 延迟的一小部分...奇怪!因为我认为延迟值可以是任何浮点数!

    【讨论】: