2013-02-17 58 views
5

我很好奇,如果有人知道已經實施的模糊整個CCLayer的方法。我用一個簡單的CCLayerColor設置爲黑色,並且有一點不透明度,但是我希望能夠將背景模糊到足以形成不可區分的斑點。模糊CCLayerColor(用於暫停菜單)

+0

請參閱http://www.cocos2d-iphone.org/forum/topic/6315 – 2013-02-17 21:39:26

回答

0

你可以用CCLayerColor來做到這一點。

-(void)fadeBackground 
{ 
    ccColor4B color = {0,0,0,255}; 
    CCLayerColor *fadeLayer = [CCLayerColor layerWithColor:color]; 
    [self addChild:fadeLayer z:7]; 
    fadeLayer.opacity = 0; 

    id fade = [CCFadeTo actionWithDuration:1.0f opacity:160];//200 for light blur 
    id calBlk = [CCCallBlock actionWithBlock:^{ 
     //show pause screen buttons here 
     //[self showPauseMenu]; 
    }]; 
    id sequen = [CCSequence actions:fade, calBlk, nil]; 

    [fadeLayer runAction:sequen]; 
} 
0

你不能只是創建一個小的瓷磚是半透明的,在它的一些噪音,並創建涵蓋其中紋理參數設置爲重複屏幕中的精靈?

CCSprite *blurSprite = [CCSprite spriteWithFile:@"blurtile.png" rect:CGRectMake(0, 0, 1024, 768)]; 
blurSprite.position = ccp(512,384); 
ccTexParams params = {GL_LINEAR,GL_LINEAR,GL_REPEAT,GL_REPEAT}; 
[blurSprite .texture setTexParameters:&params]; 
[self addChild:blurSprite]; 

我可能會有那些PARAMS略有不對,但它應該給出一般的想法。