0

我想将 CCSprite 转换为 UIImage。我写了一个简单的测试项目。但是,我发现它不起作用。UIImage 无法显示在屏幕上,尽管图像的大小是正确的。你能告诉我原因吗?

测试项目网址如下:https ://github.com/HelloVicent/ConverCCSpriteTOUIImage

非常感谢。

4

1 回答 1

6

下面是关于如何将 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];
于 2013-08-20T08:31:47.147 回答