// Obtain the shared instance of the cache
CCSpriteFrameCache *cache = [CCSpriteFrameCache sharedSpriteFrameCache;

// load the frames
[cache addSpriteFramesWithFile:@"frames.plist"];

// It loads the frame named "frame1.png".
// IMPORTANT: It doesn't load the image "frame1.png". "frama1.png" is a just the name of the frame
CCSpriteFrame *frame = [cache spriteFrameByName:@"frame1.png"];
[sprite setDisplayFrame:frame];

 

 

一个已经存在的CCSprite怎么替换新的图片

   如果一个CCSprite已经存在,这个时候如果要更新图片,有一个方法是先remove,然后重新创建一个新的CCSprite,然后再add进去。
 
   其实有个新的方法,可以不需要重新创建CCSprite.
 
 
   这个方法名称是:

-(void) setTexture:(CCTexture2D*)texture

 

 例子如下:

CCSprite *  headSprite=[CCSprite spriteWithFile:@"avatar_hall.png"];  
  
  
UIImage * image=[UIImage imageNamed:@"avatar_hall2.png"];  
  
  
CCTexture2D  * newTexture=[[CCTextureCache sharedTextureCache]  addCGImage:image.CGImage forKey:nil];  
  
[headSprite  setTexture:newTexture];