如何将CCSprite转换为UIImage

0 objective-c uiimage cocos2d-iphone ios ccsprite

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

测试项目的URL如下:https://github.com/HelloVicent/ConverCCSpriteTOUIImage

非常感谢.

JPe*_*ric 6

以下是如何将CCSprite转换为UIImage的解决方案:

http://www.cocos2d-iphone.org/forums/topic/convert-ccspriteframe-to-uiimage-is-this-possible/

看看这里,看它是否可以帮助你.

这是论坛的解决方案(上面的链接):


只需创建一个精灵,就像你通常使用spritesheets一样:

CCSprite *sprite = [CCSprite spriteWithSpriteFrameName:@"thumbnail5.png"];
Run Code Online (Sandbox Code Playgroud)

然后使用此方法从精灵获取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];
}
Run Code Online (Sandbox Code Playgroud)

这样的调用方法:

UIImage *img = [self renderUIImageFromSprite:sprite];
Run Code Online (Sandbox Code Playgroud)