作为标题,我提到了下面的代码
CCSprite *sprite = (CCSprite *)node;
CCTexture2D *texture2d = [sprite texture];如何从sprite中获取UIImage *p?
发布于 2013-02-18 16:59:38
在您的情况下,只需将next methood添加到您的类中:
- (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];
}使用方法:
CCSprite *sprite = (CCSprite *)node;
UIImage *p = [self imageFromSprite:sprite]发布于 2013-06-05 09:13:08
呃..。
我认为这是一种更好的方式。将其添加为CCNode上的类别。
-(UIImage*)image {
CCRenderTexture* renderer = [CCRenderTexture renderTextureWithWidth:self.contentSize.width height:self.contentSize.height];
const CGPoint ANCHORBEFORE = self.anchorPoint;
self.anchorPoint = CGPointZero;
[renderer begin];
[self visit];
[renderer end];
self.anchorPoint = ANCHORBEFORE;
return [renderer getUIImage];
}发布于 2012-10-30 23:12:42
如果使用是cocos2d 2.x,请将精灵渲染到CCRenderTexture中,并调用渲染纹理的getUIImage方法。
https://stackoverflow.com/questions/13136206
复制相似问题