首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与SKEffectNode有问题

与SKEffectNode有问题
EN

Stack Overflow用户
提问于 2013-12-30 16:15:28
回答 3查看 2.7K关注 0票数 0

我正在跟踪苹果的SpriteKit文档,现在我正在尝试使用SKEffectNode,但我的问题是效果不会被应用!这是我的代码:

代码语言:javascript
复制
SKEffectNode *lightingNode = [[SKEffectNode alloc] init];
SKTexture *texture = [SKTexture textureWithImage:[UIImage imageNamed:@"Spaceship"]];
SKSpriteNode *light = [SKSpriteNode spriteNodeWithTexture:texture];
self.filter = [self blurFilter];
lightingNode.position = self.view.center;
lightingNode.blendMode = SKBlendModeAdd;
[lightingNode addChild: light];
[self addChild:lightingNode];

//applying blur 

- (CIFilter *)blurFilter
{
    CIFilter *filter = [CIFilter filterWithName:@"CIBoxBlur"]; // 3
    [filter setDefaults];
    [filter setValue:[NSNumber numberWithFloat:20] forKey:@"inputRadius"];
    return filter;
}

当你运行这个应用程序时,它只是显示宇宙飞船,没有任何模糊的效果。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-01-05 02:33:07

它看起来像@"CIBoxBlur“过滤器不再存在了,至少在iOS 7.0中是这样。您可以使用@"CIGaussianBlur“。您可以通过运行以下命令查看筛选器的完整列表:

代码语言:javascript
复制
    NSArray* filters = [CIFilter filterNamesInCategories:nil];
    for (NSString* filterName in filters)
    {
        NSLog(@"Filter: %@", filterName);
    }
票数 0
EN

Stack Overflow用户

发布于 2013-12-30 22:25:08

我没有看到任何地方设置您创建的效果节点的filter属性,也看不到将其shouldEnableEffects属性设置为YES的位置。

正如正在进行的文档所暗示的那样,如果要应用筛选器,那么这两个属性都需要有意义的值。

票数 0
EN

Stack Overflow用户

发布于 2014-02-06 10:21:40

我使用了您的代码和下面的更改,所有测试都很棒!

代码语言:javascript
复制
//switch this  
lightingNode.position
//to this
light.position 
//add this 
lightingNode.shouldEnableEffects = YES;
//change 
CIBoxBlur
//to
CIGaussianBlur
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20843243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档