首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何正确打开和关闭SKNode的SKEffectNode?

如何正确打开和关闭SKNode的SKEffectNode?
EN

Stack Overflow用户
提问于 2014-07-11 05:15:28
回答 1查看 409关注 0票数 2

如果选择了一个节点,我想显示一个效果节点。如果不是,我想关闭/删除该效果。(我将节点设置为在touchesBegan中选定。)

我使用下面的代码。打开和关闭效果节点会使我头脑混乱,因为我将主节点添加到效果节点中。如何在不丢失主节点的情况下将其关闭?我可以将效果的颜色改为透明来隐藏它,但它听起来不像是正确的方式…将主节点从effect节点移动到effect节点的父节点可能会起作用,但我必须重新定位它,所以它听起来也不像是正确的方式。

这样做的正确方法之一是什么?(正确=在不增加编码复杂度的情况下提高性能)

代码语言:javascript
复制
SKShapeNode* tile = [SKShapeNode node];
[tile setPath:CGPathCreateWithRoundedRect(CGRectMake(0, 0, 60, 100), 4, 4, nil)];
tile.strokeColor = tile.fillColor = [UIColor colorWithRed:0.0/255.0
                                                        green:128.0/255.0
                                                         blue:255.0/255.0
                                                        alpha:1.0];
tile.position = CGPointMake(10, 100);

SKEffectNode *effectNode = [[SKEffectNode alloc] init];
GlowFilter *glowFilter = [[GlowFilter alloc] init];
[glowFilter setGlowColor:[[UIColor yellowColor] colorWithAlphaComponent:1]];
[effectNode setShouldRasterize:YES];
[effectNode setFilter:glowFilter];
effectNode.position=CGPointMake(0, 0);
[effectNode addChild:tile];

[self addChild:effectNode];
EN

回答 1

Stack Overflow用户

发布于 2014-07-11 06:44:15

代码语言:javascript
复制
theEffectNode.shouldEnableEffects = NO;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24686426

复制
相关文章

相似问题

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