Как правильно включить и выключить SKEffectNode для SKNode?

Я хочу показать узел эффекта, если узел выбран. Если нет, я хочу отключить / удалить этот эффект. (Я установил узел как выбранный в 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];

1 ответ

theEffectNode.shouldEnableEffects = NO;
Другие вопросы по тегам