2015-04-24 7 views

Antwort

9

Versuchen Sie, den SKLabelNode als Kind eines SKSpriteNode hinzuzufügen.

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

Nun Text wird nicht gezeigt in 'SKLabelNode' und dass bestimmte Bereich, wo ich hinzugefügt' SKSpriteNode' mit seiner Farbe gefüllt. –

+0

Haben Sie die Eigenschaften label.text und label.fontColor so eingestellt, dass sie sichtbar sind? – Sudeep

+0

Ja. Es hat alles gut funktioniert, bevor diese Codezeilen hinzugefügt wurden. Wenn ich "clearColor" zu "SKSpriteNode" gebe, dann ist nichts sichtbar. –

0

Hinzufügen der SKLabelNode als Kind eines SKSpriteNode funktioniert, aber es versteckt den Text. Also habe ich dieses Problem gelöst, indem ich die zPosition des Hintergrunds auf eine negative Zahl gesetzt habe. Hier ist der swift 3 Code:

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

Alternative: Fügen Sie den Sklabelnode als Kind des skspritenode hinzu. dann wird der Text nicht versteckt. – Crashalot