Fork me on GitHub

coco2d教程——sprite与UIImage的转换

使用CCRenderTexture将CCSprite转化为UIImage,将该函数写成UIImage的类别(catogery)

UIImage+Sprite.h

 

#import <Foundation/Foundation.h> 
#import "cocos2d.h" 
   
@interface UIImage (Sprite) 
    
+ (UIImage *)convertSpriteToImage:(CCSprite *)sprite; 
- (CCSprite *) convertImageToSprite:(UIImage *) image;
@end

UIImage+Sprite.m

#import "UIImage+Sprite.h" 
@implementation UIImage (Sprite) 
+ (UIImage *)convertSpriteToImage:(CCSprite *)sprite 
{
     CGPoint p = sprite.anchorPoint; 
   [sprite setAnchorPoint:ccp(0,0)]; 
         
     CCRenderTexture *renderer = [CCRenderTexture renderTextureWithWidth:sprite.contentSize.width height:sprite.contentSize.height]; 
          
     [renderer begin]; 
     [sprite visit]; 
     [renderer end]; 
          
     [sprite setAnchorPoint:p]; 
         
     return [UIImage imageWithData:[renderer getUIImageAsDataFromBuffer:kCCImageFormatPNG]]; 
} 

-(CCSprite *) convertImageToSprite:(UIImage *) image

{

        CCTexture2D *texture = [[CCTexture2D alloc] initWithImage:image];

        CCSprite    *sprite = [CCSprite spriteWithTexture:texture];

        [texture release];

}

@end 




posted on 2012-04-09 11:27  pengyingh  阅读(748)  评论(0编辑  收藏  举报

导航