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 




转载于:https://www.cnblogs.com/pengyingh/articles/2438647.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值