Как правильно включить и выключить 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];