Animating sprites in Cocos2d
- by Christian Budtz
How do I avoid unneccesary deallocation? I'm running this code:
CCSpriteFrameCache * cache = [CCSpriteFrameCache sharedSpriteFrameCache];
[cache addSpriteFramesWithFile:@"boosttexture.plist"];
CCAnimation * animation = [[CCAnimation alloc] initWithName:@"boosting" delay:1/24.0f];
[animation addFrame:[cache spriteFrameByName:@"ship.png"]];
[animation addFrame:[cache spriteFrameByName:@"ship_boost_l_r.png"]];
id action = [CCRepeatForever actionWithAction:[CCAnimate actionWithAnimation:animation]];
[spaceShipSprite runAction:action];
When the animaton is running (granted - its an ugly one), I get this in the console:
2010-04-14 13:40:16.311 Booster2K10Beta[521:20b] cocos2d: deallocing CCSpriteFrame = 00EBA620 | TextureName=4, Rect = (1.00,32.00,32.00,32.00)
2010-04-14 13:40:16.411 Booster2K10Beta[521:20b] cocos2d: deallocing CCSpriteFrame = 00EBA620 | TextureName=4, Rect = (1.00,32.00,32.00,32.00)
2010-04-14 13:40:16.496 Booster2K10Beta[521:20b] cocos2d: deallocing CCSpriteFrame = 00EBA620 | TextureName=4, Rect = (1.00,32.00,32.00,32.00)
It seems unneccesary that the same SpriteFrame gets dealloc'ed 24 times per second - how do I avoid that?