¿Puede un niño tener varios padres en Sprite Kit?

Estoy trabajando en un juego Sprite-Kit y tengo un menu que muestra todos los niveles. He creado una image bloqueada que quiero mostrar en los niveles que están bloqueados, a continuación se muestra el código:

SKSpriteNode *locked = [SKSpriteNode spriteNodeWithImageNamed:@"Locked.png"]; locked.position = CGPointMake(0, 0); locked.zPosition = 2.0; locked.size = CGSizeMake(20, 20); 

Entonces quiero mostrarlo en todos los niveles hasta que se desbloqueen. Este es el código:

 SKSpriteNode *level2 = [SKSpriteNode spriteNodeWithColor:[SKColor networkingColor] size:CGSizeMake(40, 40)]; level2.position = CGPointMake(CGRectGetMidX(self.frame)-75, CGRectGetMidY(self.frame)+100); [level2 addChild:locked]; [_levels addObject:level2]; [self addChild:level2]; 

Pero cuando traté de mostrarlo en el tercer nivel:

 SKSpriteNode *level3 = [SKSpriteNode spriteNodeWithColor:[SKColor networkingColor] size:CGSizeMake(40, 40)]; level3.position = CGPointMake(CGRectGetMidX(self.frame)-30, CGRectGetMidY(self.frame)+100); [level3 addChild:locked]; [_levels addObject:level3]; [self addChild:level3]; 

Me encontré con un error porque bloqueado ya tenía un padre.

¿Puede un niño tener múltiples padres? Si es así, ¿dónde voy a equivocarme?

Un SKNode solo puede tener un padre. (Su método parent solo puede devolver una cosa, después de todo).

También se ajusta a NSCopying, lo que significa que puede copyr un nodo si necesita más de uno con el método de copy . Entonces, puedes probar algo como [level3 addChild:[locked copy]];