Currently you can create a sprite with a "spriteFrameName" that is referenced in teh FrameCache. CCSprite automatically resolves it via the name and creates the sprite. However, you can't change the spriteFrame using a FrameName later on, you have to pull it out of the cache yourself.
+(id)spriteWithSpriteFrameName:(NSString*)spriteFrameName
{
CCSpriteFrame *frame = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:spriteFrameName];
return [self spriteWithSpriteFrame:frame];
}
Why not have something like
-(void) setDisplayWithFrameName:(NSString*)spriteFrameName
{
CCSpriteFrame *frame = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:spriteFrameName];
[self setDisplayFrame:frame];
}