我很好奇是否有人知道已经实现的模糊整个 CCLayer 的方法。我使用一个简单的 CCLayerColor 设置为黑色,有点不透明度,但我希望能够将背景模糊到无法区分的斑点。
问问题
1009 次
2 回答
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];
}
于 2013-02-18T05:38:30.773 回答
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];
我可能有这些参数略有错误,但它应该给出一般的想法。
于 2013-06-13T02:13:39.327 回答