在uiview中使用CCSprite

时间:2013-02-26 06:38:47

标签: uiview uiviewcontroller cocos2d-iphone ccsprite

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

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

此时,我不知道如何在CCSprite上执行addSubview。据我所知,在cocos2d中,只有一个CCGLView正在使用。   有没有提示?谢谢。

1 个答案:

答案 0 :(得分: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]