我很好奇是否有人知道已经实现的模糊整个CCLayer的方法。我使用一个简单的CCLayerColor设置为黑色,有一点不透明度,但我希望能够模糊背景足以成为难以区分的blob。
答案 0 :(得分: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];
}
答案 1 :(得分: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:¶ms];
[self addChild:blurSprite];
我可能会将这些参数略微错误,但它应该提供一般性的想法。