1

我有一个 Objective-C 项目。在项目中,我想在图像(UIImage)上使用一些 CCAction。所以,我想我需要把所有的 UIImage 都改成 CCSprite。我有一个添加图像以查看项目中所有图像的功能:

UIImage* firstImage = [imageArray objectAtIndex:0];    
UIImageView* imageView = [[UIImageView alloc] initWithImage:firstImage];
[targetView addSubview:imageView];
[imageView release];
return imageView;

此时,我不知道如何在 CCSprite 上做 addSubview。据我所知,在 cocos2d 中,只有一个 CCGLView 正在使用。有什么提示吗?谢谢你。

4

1 回答 1

2

一些对您有用的注释:

« 您可以使用 addChild 方法将一个 CCSprite 添加到另一个 CCSprite。

« 从 UIImage 创建 CCSprite:

CCTexture2D *tex = [[[CCTexture2D alloc] initWithImage:uiImage] autorelease];
CCSprite *sprite = [CCSprite spriteWithTexture:tex];

« 从 CCSprite 创建 UIImage:

- (UIImage *) imageFromSprite :(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 getUIImage];
}
//call syntax
CCSprite *sprite = (CCSprite *)node;
UIImage *p = [self imageFromSprite:sprite]
于 2013-02-26T06:46:58.080 回答