2015-04-24 19 views

cevap

9

SKLabelNode'u bir SKSpriteNode'un alt öğesi olarak eklemeyi deneyin.

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

Şimdi metin SKLabelNode' 'gösterilmeyen ve ben SKSpriteNode' onun rengi ile doldurulur' eklenen bu özel alan: Burada hızlı 3 kodudur. –

+0

Görünür olduğundan emin olmak için label.text ve label.fontColor özelliklerini ayarladınız mı? – Sudeep

+0

Evet. Bu kod satırlarını eklemeden önce her şey gayet iyi çalışıyordu. Eğer 'clearColor'' SKSpriteNode' verirsem, o zaman hiçbir şey görünmez. –

0

bir SKSpriteNode eserlerin bir çocuk olarak SKLabelNode ekleme ama metni gizler. Bu nedenle, arka planın zPpozisyonunu negatif bir sayıya ayarlayarak bu sorunu çözdüm.

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

alternatif: skok etiketini skspritenode'un bir alt öğesi olarak ekleyin. sonra metin gizlenmeyecek. – Crashalot