ios objective-c sprite-kit skeffectnode

ios - ¿Cómo activar y desactivar correctamente SKEffectNode para SKNode?



objective-c sprite-kit (1)

theEffectNode.shouldEnableEffects = NO;

Quiero mostrar un nodo de efecto si se selecciona un nodo. Si no, quiero desactivar / eliminar ese efecto. (Establecí un nodo como seleccionado en touchesBegan )

Yo uso el código a continuación. Encender y apagar el nodo de efecto está mezclando mi mente porque agrego el nodo principal a un nodo de efecto. ¿Cómo debo apagarlo sin perder el nodo principal también? Puedo cambiar el color del efecto a transparente para ocultarlo, pero no suena del modo correcto ... Mover el nodo principal del nodo de efectos al nodo primario del nodo de efectos puede funcionar, pero tengo que reposicionarlo de nuevo para que no lo haga suena como la manera correcta también ...

¿Cuál es una de las formas correctas de hacer esto? (correcto = bueno para el rendimiento sin aumentar la complejidad de la codificación)

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