0

我对这个问题很头疼,我正在使用这些代码来捕获屏幕的一部分

-(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”代码时,如何获取新的图像精灵?

4

1 回答 1

0

您可以获得新的图像精灵,但您必须更改密钥

[CCSprite spriteWithCGImage:image.CGImage key: key ];

于 2013-05-30T12:01:09.647 回答