Cocos2d中CCSprite与UIImage互相转换

本文提供两个实用方法:一是将 UIImage 转换为 CCSprite 的实现方式;二是将 CCSprite 转换回 UIImage 的具体步骤。这些方法对于使用 Cocos2d-x 进行游戏开发特别有用。

+(CCSprite *) convertImageToSprite:(UIImage *) image {

    CCTexture2D *texture = [[CCTexture2D alloc] initWithImage:image.CGImage resolutionType:kCCResolutionUnknown];

    CCSprite    *sprite = [CCSprite spriteWithTexture:texture];

    [texture release];

    return 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]];

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值