【问题标题】:How to correctly turn on and off SKEffectNode for a SKNode?如何正确打开和关闭 SKNode 的 SKEffectNode?
【发布时间】:2014-07-10 21:15:27
【问题描述】:

如果选择了一个节点,我想显示一个效果节点。如果没有,我想关闭/删除该效果。 (我在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];

【问题讨论】:

    标签: ios objective-c sprite-kit skeffectnode


    【解决方案1】:
    theEffectNode.shouldEnableEffects = NO;
    

    【讨论】:

      猜你喜欢
      • 2013-05-11
      • 1970-01-01
      • 1970-01-01
      • 2021-09-28
      • 1970-01-01
      • 1970-01-01
      • 2020-02-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多