2015-04-24 16 views

risposta

9

Provare ad aggiungere SKLabelNode come figlio di un SKSpriteNode.

SKLabelNode *label = [[SKLabelNode alloc]initWithFontNamed:@"Helvetica"]; 
label.position = CGPointMake(0, -label.frame.size.height/2); 

SKSpriteNode *background = [SKSpriteNode spriteNodeWithColor:[UIColor redColor] size:CGSizeMake(label.frame.size.width, label.frame.size.height)]; 
background.position = CGPointMake(200, 100); 

[background addChild:label]; 
[self addChild:background]; 
+0

Ora il testo non viene visualizzato in 'SKLabelNode' e quella particolare area in cui ho aggiunto' SKSpriteNode' è riempito con il suo colore. –

+0

Hai impostato le proprietà label.text e label.fontColor per assicurarti che siano visibili? – Sudeep

+0

Sì. Funzionava tutto bene prima di aggiungere questa linea di codici. Se do 'clearColor' a' SKSpriteNode', nulla è visibile. –

0

Aggiunta del SKLabelNode come un bambino di uno stabilimento SKSpriteNode ma nasconde il testo. Quindi, ho risolto questo problema impostando zPosition sullo sfondo su un numero negativo. Ecco il codice swift :

var label = SKLabelNode(fontNamed: "Helvetica") 
label.position = CGPoint(x: CGFloat(0), y: CGFloat(-label.frame.size.height/2)) 
var background = SKSpriteNode(color: UIColor.red, size: CGSize(width: CGFloat(label.frame.size.width), height:CGFloat(label.frame.size.height)))background.position = CGPoint(x: CGFloat(200), y: CGFloat(100)) 
background.zPosition = -1 
label.addChild(background) 
self.addChild(label) 
+1

: aggiungi lo sklabelnode come figlio di skspritenode. allora il testo non sarà nascosto. – Crashalot