Ios4 如何将CCSprite保存为PNG

Ios4 如何将CCSprite保存为PNG,ios4,cocos2d-iphone,ccsprite,object-code,Ios4,Cocos2d Iphone,Ccsprite,Object Code,我创建了CCSprite并将其添加到主视图中。 然后我想看到精灵图像,所以我把它保存到PNG 但其中很多并没有正确保存。 只显示白色背景。 我不知道原因,还通过谷歌找到了一些文章,但它们根本帮不了我。 我怎样才能解决这个问题 CCSprite *sprite = [[CCSprite spriteWithFile:[NSString stringWithUTF8String:name] rect:CGRectMake(startx, starty, w, h)] retain]; float

我创建了CCSprite并将其添加到主视图中。 然后我想看到精灵图像,所以我把它保存到PNG 但其中很多并没有正确保存。 只显示白色背景。 我不知道原因,还通过谷歌找到了一些文章,但它们根本帮不了我。 我怎样才能解决这个问题

CCSprite *sprite = [[CCSprite spriteWithFile:[NSString stringWithUTF8String:name] rect:CGRectMake(startx, starty, w, h)] retain];

float drawX = x, drawY = y; 

CGSize size = [sprite contentSize];

int nWidth = size.width;
int nHeight = size.height;
nWidth *= scale;
nHeight *= scale;
drawX = drawX + nWidth/2;
drawY = drawY - nHeight/2;

ConvertCoordf(&drawX, &drawY);
drawY -= nHeight;
[sprite setScale:scale];
[sprite setPosition:ccp(drawX, drawY)];
[_mainLayer addChild:sprite];

CCRenderTexture* render = [CCRenderTexture renderTextureWithWidth:sprite.contentSize.width height:sprite.contentSize.height];    
[render begin];
[sprite visit];
[render end];    
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString  *pngPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"new%d.png",i]];
i++;
[render saveBuffer:pngPath format:kCCImageFormatPNG];

[sprite release];

我不确定你的代码的用途。首先,当您从文件中读取精灵时,为什么要尝试将其保存到文件中?我还需要这个问题的答案。我将opengl/着色器效果应用于ccsprite,现在需要将其保存为PNG。[sprite setPosition:ccp(size.width/2.0f,size.height/2.0f)];如果你不将精灵放在CCRenderTexture中,你将看不到它。这个问题应该重新打开,它仍然是相关的。杰伊的回答是正确的,FWIW。为什么这个问题应该关闭???无论如何,请使用CCRenderTexture及其方法saveToFile()。