2012-10-30 102 views
0

我試圖從一個精靈表創建一個動畫精靈,要做到這一點,我運行以下:後來創建精靈動畫的Cocos2D

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];什麼也沒有發生的精靈,任何原因?

回答

0

我發現這個解決方案並沒有在CCAnimation的延遲中使用分數......奇怪!因爲我認爲延遲值可能是任何浮點數!