我对这个问题很头疼,我正在使用这些代码来捕获屏幕的一部分
-(UIImage *) glToUIImage {
userphotoCount++;
[CCDirector sharedDirector].nextDeltaTimeZero = YES;
CGSize winSize = [CCDirector sharedDirector].winSize;
CCLayerColor* whitePage = [CCLayerColor layerWithColor:ccc4(255, 255, 255, 0) width:winSize.width height:winSize.height];
whitePage.position = ccp(winSize.width/2, winSize.height/2);
CCRenderTexture* rtx = [CCRenderTexture renderTextureWithWidth:815 height:532];
[rtx begin];
[whitePage visit];
[[[CCDirector sharedDirector] runningScene] visit];
[rtx end];
return [rtx getUIImageFromBuffer];
}
我可以通过
image = [self glToUIImage];
然后我尝试使用此代码通过 UIImage 生成精灵
-(void) ImageSprite{
image = [self glToUIImage];
userAns = [CCSprite spriteWithCGImage:image.CGImage key:[NSString stringWithFormat:@"photoCap%d.png", userphotoCount]];
userAns.position=ccp(780,410);
userAns.scale=0.6;
[self addChild:userAns z:20];
}
我第一次可以通过这些代码获取图像,但是在我更改了屏幕的内容并使用这些代码用新内容生成新的 sprite(new UIImage) 之后,我失败了....图像没有变为新图片...
每次运行“imageSprite”代码时,如何获取新的图像精灵?