我想将CCSprite转换为UIImage。我写了一个简单的测试项目。但是,我发现它不起作用。尽管图像尺寸合适,但UIImage无法在屏幕上显示。你能告诉我原因吗?
测试项目的URL如下:https://github.com/HelloVicent/ConverCCSpriteTOUIImage
非常感谢。
答案 0 :(得分:6)
以下是如何将CCSprite转换为UIImage的解决方案:
http://www.cocos2d-iphone.org/forums/topic/convert-ccspriteframe-to-uiimage-is-this-possible/
在这里看看,看看它是否可以帮到你。
这是论坛的解决方案(上面的链接):
只需创建一个sprite,就像你通常使用spritesheets一样:
CCSprite *sprite = [CCSprite spriteWithSpriteFrameName:@"thumbnail5.png"];
然后使用此方法从精灵获取UIImage
- (UIImage *) renderUIImageFromSprite CCSprite *)sprite
{
int tx = sprite.contentSize.width;
int ty = sprite.contentSize.height;
CCRenderTexture *renderer = [CCRenderTexture renderTextureWithWidth:tx height:ty];
sprite.anchorPoint = CGPointZero;
[renderer begin];
[sprite visit];
[renderer end];
return [renderer getUIImageFromBuffer];
}
这样的调用方法:
UIImage *img = [self renderUIImageFromSprite:sprite];