我想将 CCSprite 转换为 UIImage。我写了一个简单的测试项目。但是,我发现它不起作用。UIImage 无法显示在屏幕上,尽管图像的大小是正确的。你能告诉我原因吗?
测试项目网址如下:https ://github.com/HelloVicent/ConverCCSpriteTOUIImage
非常感谢。
我想将 CCSprite 转换为 UIImage。我写了一个简单的测试项目。但是,我发现它不起作用。UIImage 无法显示在屏幕上,尽管图像的大小是正确的。你能告诉我原因吗?
测试项目网址如下:https ://github.com/HelloVicent/ConverCCSpriteTOUIImage
非常感谢。
下面是关于如何将 CCSprite 转换为 UIImage 的解决方案:
http://www.cocos2d-iphone.org/forums/topic/convert-ccspriteframe-to-uiimage-is-this-possible/
看看这里,看看它是否可以帮助你。
这是来自论坛的解决方案(上面的链接):
只需像您通常使用 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];