2013-05-30 79 views
0

獲得雪碧我對這個問題很頭疼,我使用這些代碼捕獲屏幕的一部分cocos2d的屏幕捕獲,並從UIImage的

-(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

然後我嘗試使用此代碼來生成由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]; 
} 

我可以通過這些代碼在第一時間內得到的圖像,卜精靈t後,我改變了屏幕的內容,並使用這些代碼生成新的精靈(新的UIImage)與新的內容,我失敗了....圖像不會更改爲新的圖像...

如何可以每次運行「imageSprite」代碼時,我都會得到新的圖像精靈?

回答

0

你可以得到新的圖像精靈,但是你必須改變關鍵

[CCSprite spriteWithCGImage:image.CGImage鍵:]。

+0

我嘗試使用 [的NSString stringWithFormat:@ 「PHOTOCAP%d.png」,userphotoCount] 爲重點,因此在運行 時 - (UIImage的*)glToUIImage 的 「userphotoCount ++」 可以給photoCap的新號碼%d.png 您的意思是錯誤的?你能給我一些建議嗎? 我的目的是: 當每次用戶點擊一個按鈕,他可以得到新的精靈與新的形象 – hkcitydancer