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

标签 ios objective-c sprite-kit skeffectnode

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

我使用下面的代码。打开和关闭效果节点让我很困惑,因为我将主节点添加到效果节点中。我应该如何关闭它而不丢失主节点?我可以将效果的颜色更改为透明以隐藏它,但这听起来不像正确的方法...将主节点从效果节点移动到效果节点的父节点可能有效,但我必须再次重新定位它,这样它就不会出现问题听起来也不像是正确的方式..

执行此操作的正确方法之一是什么? (正确=有利于性能,同时不会增加编码复杂性)

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];

最佳答案

theEffectNode.shouldEnableEffects = NO;

关于ios - 如何正确打开和关闭SKNode的SKEffectNode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24686426/

相关文章:

ios - NSOperationqueue后台,下载图片

ios - Json 代码不起作用

ios - 可选链上的 EXC_BREAKPOINT

ios - SpriteKit - 背景图像被严重拉伸(stretch)

ios - SpriteKit : Weird crash when preloading texture atlases

ios - SpriteKit : Passing variable from GameViewController to GameScene

objective-c - 在 Storyboard场景中处理更改单个 UIView 的正确方法是什么

ios - fatal error : unexpectedly found nil while unwrapping an Optional value Swift Using Alamofire in UICollectionView

iphone - 从通知下拉菜单中复制通知(适用于 iOS 5.0+)

iphone - NSTimer 停止 iphone 声音?